欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MYSQL主从同步/主主同步

程序员文章站 2022-06-29 10:31:56
一、MYSQL主从同步 注意:进行主从同步操作时需要确保DB无写操作 flush tables with read lock; //全局读锁定,执行了命令之后所有库所有表都被锁定只读. 1、在主机上 1)从主机上导出DB,直接在bash命令行用 mysqldump -uroot -p cmsdb>c ......

一、mysql主从同步

注意:进行主从同步操作时需要确保db无写操作

flush tables with read lock;   //全局读锁定,执行了命令之后所有库所有表都被锁定只读.

1、在主机上

1)从主机上导出db,直接在bash命令行用

mysqldump -uroot -p cmsdb>cms.sql

2)进入mysql后用

show master status;    //记录下日志文件名和偏移量

3)将cms.sql复制到备机下

 

2、在备机下

1)在备机上导入db,直接在bash命令行用

mysql -uroot -p cmsdb<cms.sql

2)进入mysql后

stop slave;

3)change master to master_host='10.2.213.91',master_user='rep',master_password='repli23+',master_log_file='mysqld-bin.000039',master_log_pos=219005520;  

  master_log_file与master_log_pos 这2个参数是与上面主机上面查看到的日志文件名与偏移量是一样的

4)start slave;

 

3、按照上面的步骤做完,执行下面的命令查看slave的状态
mysql>show slave status\g;

 

4、解禁写操作

unlock tables;

 

二、主主同步

 

1.主备mysql上分别查看master log信息:

 show master status;

2.主备mysql上分别执行:

>stop slave;

>change master to master_host='172.16.199.149', master_user='rep', master_password='repli23+', master_log_file='mysql-bin.000002', master_log_pos=689028;

  //master_host填写master mysql所在服务器ip

 //master_log_file填写master mysql上的file信息

 //master_log_pos填写master mysql上的position信息

>start slave;

3. 检查mysql主主运行情况

 主备mysql分别执行show slave status\g(查看slave运行情况)

 slave_io_running: yes(运行ok)

 slave_sql_running: yes (运行ok)

 master_log_file: mysql-bin.000010(与 master log file一致)

 read_master_log_pos: 120 (与master log pos一致)