Mysql主主同步
MySQL双主配置
A服务器配置文件my.cnf
[myqld]
server-id= 1
log-bin=mysql-bin
slave-net-timeout= 60 #默认是3600秒,缩短时间是为了防止双YES的假象
B服务器配置文件my.cnf
[myqld]
server-id= 2
log-bin=mysql-bin
slave-net-timeout= 60 #默认是3600秒,缩短时间是为了防止双YES的假象
1、在A服务器上的MySQL创建B服务器访问的复制用户:
grant replication slave on *.* to 'slave_user'@'192.168.0.140' identified by '密码'; #创建从库用来复制的用户
grant replication slave on *.* to 'A'@'192.168.0.11' identified by '密码'; #创建A库用来复制的用户
flush privileges; #刷新权限
2、锁表
mysql>flush tables with read lock; #锁定所有表,此时数据库不能写入数据
3、查看bin-log文件位置
mysql>show master status; #查看最新bin-log文件及位置
+------------------+-----------+--------------+------------------+-------------------------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+-----------+--------------+------------------+-------------------------------------------------+
| mysql-bin.000527 | 214105148 | | | b9069137-cf64-11eb-acec-fa163e4edc43:1-48267958 |
+------------------+-----------+--------------+------------------+-------------------------------------------------+
1 row in set (0.00 sec)
4、锁表状态全备mysql数据
mysqldump --socket=/home/eqics/mysql/mysql.sockt --all-databases -uroot -p密码> /root/文件名.sql
5、解除锁表
mysql>unlock tables;
或直接quit退出即可。
到此主从完成。
6、登陆B服务器mysql导入数据
登录mysql
mysql>source xxx.sql #导入全备数据
7、记录从库bin-log信息
mysql>show master status; #查看最新bin-log文件及位置
8、从库设置同步主库
CHANGE MASTER TO MASTER_HOST='192.168.0.11',MASTER_PORT=3306,MASTER_USER='slave_user',MASTER_PASSWORD='密码',MASTER_LOG_FILE='mysql-bin.000527',MASTER_LOG_POS=214105148; #用户是复制用户
9、开启从库同步并确认同步是否成功
mysql>start slave;
QueryOK, 0 rows affected (0.00 sec)
mysql>show slave status\G; #\G不按表格输出
两个yes
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
Seconds_Behind_Master: 622 #查看主从同步延迟,延迟大则可能需要优化
到此主从完成。
10、主库设置同步从库
CHANGEMASTER TO MASTER_HOST='192.168.0.140',MASTER_PORT=3306,MASTER_USER='A',MASTER_PASSWORD='密码',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=2328055;
11、开启同步并确认同步是否成功
mysql>start slave;
QueryOK, 0 rows affected (0.00 sec)
mysql>show slave status\G;
两个yes
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
Seconds_Behind_Master: 622 #查看主从同步延迟,延迟大则可能需要优化
双主同步完成
---------是故无冥冥之志者----------
---------无昭昭之明----------
---------无惛惛之事者----------
---------无赫赫之功----------
本文来自博客园,作者:|是吴啊|,转载请注明原文链接:https://www.cnblogs.com/wuguofeng/p/15079593.html