美文网首页
mysql的主从服务器配置实现读写分离。

mysql的主从服务器配置实现读写分离。

作者: Snapeliu | 来源:发表于2017-11-17 13:53 被阅读5次

以下说的是单向主从复制。主从复制是通过日志同步来实现的,主库执行语句也会在从库得到执行,原则上是从库只用来查询,这样能确保两个数据库的完全一致。但理论上主从可以建立不同的索引,从数据库可以建立新表,可以执行delete操作,但从数据库不能update和create,否则主从日志将立即被破坏,要特别注意这点。主从的数据库版本必须一致。

主从的my.cnf均做如下配置:


    server-id = 1                              #【必须】主机标示,服务器唯一ID,整数,可取IP最后一段
    log_bin   = /var/log/mysql/mysql-bin.log   #【必须】开启二进制日志bin-log,不同版本的mysql可能不一样
    binlog-do-db  = test1                      #需要备份数据,多个写多行
    binlog-do-db  = test2                      #需要备份数据,多个写多行
    binlog-ignore-db = mysql                   #不需要备份的数据库,多个写多行

重启mysql服务生效/etc/init.d/mysql restart

可以通过show variables like 'log_%'; 验证二进制日志是否已经启动。

如果主从数据库都是空的那么不用完成初始同步,否则要先把主服务器的数据同步到从服务器。

主库操作

注意在导出数据之前先对主数据库进行READ LOCK,以保证数据的一致性:

    flush tables with read lock;

主库导出sql文件:

mysqldump -F sync(数据库名) --host=127.0.0.1 --port=3306 -u root -p536c9a0d2a73afdfbc97dfc9e8c02a89 > /home/sync.sql(生成文件路径)

得到主服务器当前二进制日志名和偏移量,这个操作的目的是为了在从数据库启动后,从这个点开始进行数据的恢复:

show master status \G;

最好在主数据库备份完毕,恢复写操作:

unlock tables;

创建用来同步的账号并授权:


    grant REPLICATION SLAVE on *.* to slaveBelongsToMaster(用户名)@'%' identified by "123456(用户密码)"; 
    flush privileges;

一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,如127.0.0.1,加强安全。

从库操作

取出主库sql文件写入:

source /home/sync.sql

配置使用同步账号:

CHANGE MASTER TO MASTER_HOST='127.x.x.x(主库IP)',MASTER_PORT=3306(主库端口),MASTER_USER='slaveBelongsToMaster',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000003(上面得到的二进制日志名)',MASTER_LOG_POS=106(上面得到的二进制偏移量);

开始主从复制:

slave start; 或 start slave;

终止主从复制:

slave stop; 或 stop slave;

从服务器状态

Show slave status \G;

注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。

相关文章

  • 部署数据库服务mysql 、 部署共享存储服务NFS 、 配置网

    mysql服务器 配置lv 配置mysql mysql主从 主服务器 从服务器 读写分离 NFS服务器 准备磁盘 ...

  • MySQL5.6主从复制及读写分离的实现

    MySQL5.6主从复制及读写分离的实现 MySQL 5.6 基于GTID的主从复制及使用amoeba配置实现读写...

  • OneProxy实现MySQL读写分离

    系列文章:1.MySQL主从复制2.OneProxy实现MySQL读写分离 读写分离方案,其实我们可以通过配置动态...

  • MySQL-主从复制&读写分离

    零、本文纲要 一、MySQL主从复制 主从复制 主从复制过程 配置主从复制 二、MySQL读写分离 读写分离 Sh...

  • MaxScale 读写分离

    配置好了 Mysql 的主从复制结构后,我们希望实现读写分离,把读操作分散到从服务器中,并且对多个从服务器能实现负...

  • 轻松实现MySQL读写分离

    配置好了 Mysql 的主从复制结构后,我们希望实现读写分离,把读操作分散到从服务器中,并且对多个从服务器能实现负...

  • MySQL 主从配置

    1. MySQL 主从配置 读写分离是启动多个MySQL服务, 一台服务器 作为主服务器(master), 剩下从...

  • mysql主从库与读写分离

    一.mysql主从库与读写分离的实现理论 二.mysql配置1.准备两台服务器安装mysql(也可以在一台中装两个...

  • MySQL读写分离

    实现MySQL读写分离的前提是我们已经将MySQL主从复制配置完毕,可参考我上一篇关于MySQL主从复制的文章。读...

  • MYSQL主从复制原理

    作用:mysql服务器的主从配置,这样可以实现读写分离,也可以在主库挂掉后从备用库中恢复。 逻辑复制方案: 1.主...

网友评论

      本文标题:mysql的主从服务器配置实现读写分离。

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