MySQL主从同步简单介绍&配置

介绍:

现在mysql集群基本上都是使用一主多从方式,实现读写分离(主库写、从库读)、负载均衡、数据备份,以前只是使用从未配置过,今天简单配置一下!

mysql主从复制是通过binary log日志实现,具体实现流程如下:

  1.主库开启binlog日志,且主库将所有操作语句记录到binlog中,并允许从库远程连接权限

  2.从库开启I/O线程和SQL线程。I/O线程负责读取主库的binlog内容到relay log中;SQL线程负责从relay log中读取binlog内容并更新到从库中

下面是从网上找了一张经典的主从复制流程图:

 

注意事项:

  mysql主从库版本尽量保持一致,如不一致主库版本要低于从库版本

  mysql主从库尽量分布于不同服务器上,主库必须开启bin log日志

  主从库初始数据保持一致

 


 

主库配置:

  1.设置bin log和server id

   vim /etc/my.cnf

   

   2.启动服务

   /usr/local/mysql/support-files/mysql.server start

   报错:The server quit without updating PID file (/usr/local/mysql/data/ubuntu1.pid)

   设置权限:chown -R mysql:mysql /var/log/mysql/             chmod -R 755 /usr/local/mysql/data/

  3.创建从库同步数据的账号

   mysql -u root -p

   

   3.获取主服务器二进制信息

   

 


 

从库配置:

  1.设置server id,此server-id要小于主库server-id

   vim /etc/my.cnf

   

   从库bin log日志可不开启,视情况而定,用于测试先不开启

  2.启动服务

   /usr/local/mysql/support-files/mysql.server start

  3.设置连接连接到主库的信息

   

   4.开启同步

   start slave;

   show slave status \G;

   

  正常情况下这两项都应该是Yes才对,奔溃了,o(╥﹏╥)o ,排错吧。。。


     1)在my.cnf文件中打开错误日志:vim /etc/my.cnf

      

     2)查看错误日志:cat /var/log/mysqld.log,看到有这条内容

      [Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--relay-log=ubuntu2-relay-bin' to avoid this problem

      然后在配置文件中增加relay-log选项,vim /etc/my.cnf

      

     3)重启myql依然是No,绞尽脑汁,想起来从库服务器环境是从主库复制过来的,主机名和主库主机名都是ubuntu1,好吧,修改主机名:vim /etc/hostname,改成ubuntu2

     4)重启主机,启动mysql,执行start slave;直接报错,从库同步启动失败了,然后网上查了需要reset slave再start slave,好吧,执行reset slave,在执行start slave,依然是No,继续崩溃o(╥﹏╥)o

     5)继续看错误日志,不看日志凭脑子想是想不出来的,从上往下一行行看,终于看到个ERROR

       

       查百度,原来是auto.cnf里的server-uuid和主库重复,原因还是从库服务器环境直接从主库复制的,文件在/usr/local/mysql/data/下,直接将auto.cnf文件删除,mysql启动时会检查,没有的话会自动创建。

      6)重启mysql,继续查看从库同步状态

      

      终于Yes了, O(∩_∩)O哈哈~


 

测试:

  1.主库创建test库,test表,插入数据;

   

   2.从库查看是否有test库,test表,表中是否有相应数据

   

同步正常!!!完成~

  

posted @ 2020-08-29 17:50  事儿爸_董  阅读(382)  评论(0编辑  收藏  举报