MYSQL主从同步/主主同步
一、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一致)