不积跬步,无以至千里;不积小流,无以成江海。

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   #查看主从同步延迟,延迟大则可能需要优化

双主同步完成

posted @ 2021-07-30 14:54  |是吴啊|  阅读(73)  评论(0编辑  收藏  举报