美文网首页mysql
mysql(二):linux下mysql主从搭建

mysql(二):linux下mysql主从搭建

作者: 面朝大海_1234 | 来源:发表于2017-12-08 17:20 被阅读50次

            上一篇文章中搭建完成了mysql的单机版,实际上在真正生产环境中根据实际需求会搭建不同的环境。Mysql的主从搭建适合于查询较多,写入较少的情况,而且可以一主多从,在项目中可以用代码控制实现不同数据源的访问,例如,CUD操作全部走主库,查询操作全部走剩下的从库。

    1、环境准备

          准备另一台虚拟机(132)

        2、安装mysql

         按照上一篇文章中的单机形式先安装在132机器上

         此时131和132数据库都已经安装完成

            注意安装时my.cnf文件中不需要开启log-bin,因为此台mysql是从数据库,只需要主数据库开启log-bin就可以了,这样从数据库一直通过主数据库的log-bin去同步数据。

        132下面的my.cnf配置。

            3、主从同步(主为131从为132)

            首先在主库上给从库复制的权限,且查看主库当前的状态,

            GRANT REPLICATION SLAVE ON *.* to 'root'@'192.168.109.132' identified by '123456';

            show master status;

            此时到从库执行以下命令

            change master to master_host='192.168.109.131', master_user='root', master_password='123456',master_log_file='mysql-bin.000004',master_log_pos=451;

            注意里面的log-bin文件根据上图一致,偏移量也需要一致,这样从库的状态就会和主库保持一致

    执行命令效果展示

            然后从库同步开启

            此时查看从库的状态同步是否开启成功

            4、测试是否正确

            客户端连接到131和132两台数据库,在主数据库上写入数据,从数据库会立即同步

            此时在从数据库中写入,则主库不会改变

            当然,如果要控制从数据库只能读,写都不能写,需要新建一个普通用户,然后在从数据库命令行中进行

            set global read_only=1;

            这样就普通用户登录进行就只能读从数据库了。

            因为从数据库中root用户需要同步主数据库中数据,所以不能修改root用户只读,否则同步不会成功。

    相关文章

      网友评论

        本文标题:mysql(二):linux下mysql主从搭建

        本文链接:https://www.haomeiwen.com/subject/rizeixtx.html