Mysql双向同步复制(互为主从)
环境:Windows2019 Mysql8.0
服务器1:10.20.6.90
服务器2:10.20.6.99
1. 设置数据库的配置文件my.ini
(C:\ProgramData\MySQL\MySQL Server 8.0)
服务器A:
[mysqld]
server-id=1 #任意自然数n,只要保证两台MySQL主机不重复就可以
log_bin= WIN-CADSERVER01-bin #开启二进制日志
binlog-do-db = cad_server #要同步的数据库
log-slave-updates
sync_binlog = 1
auto_increment_increment=2 #步进值, 一般有n台主MySQL就填n
auto_increment_offset=1 #起始值。一般填第n台主MySQL。
replicate-do-db=cad_server #要同步的数据库
服务器B:
[mysqld]
server-id=2 #任意自然数n,只要保证两台MySQL主机不重复就可以
log_bin= WIN-CADSERVER02-bin #开启二进制日志
binlog-do-db = cad_server #要同步的数据库
log-slave-updates
sync_binlog = 1
auto_increment_increment=2 #步进值, 一般有n台主MySQL就填n
auto_increment_offset=2 #起始值。一般填第n台主MySQL。
replicate-do-db=cad_server #要同步的数据库
重启服务
net stop mysql80
net start mysql80

2. 进入数据库创建连接账户
服务器A:
通过cmd进入mysql安装目录bin下(C:\Program Files\MySQL\MySQL Server 8.0\bin)
登录mysql:
mysql -u账号 -p密码
创建连接账户并设置权限:
mysql> create user ‘replicate’@‘10.20.6.99’ identified by ‘12345’;
mysql> grant replication slave on *. * to ’ replicate '@’10.20.6.99’ ;
mysql> flush privileges; # 刷新系统权限
服务器B:
通过cmd进入mysql安装目录bin下
登录mysql:
mysql -u账号 -p密码
创建连接账户并设置权限:
mysql> create user ‘replicate’@‘10.20.6.90’ identified by ‘123456’;
mysql>grant replication slave on *. * to ‘replicate’@’10.20.6.90’ ;
mysql> flush privileges; # 刷新系统权限



3. 查看生成的binlog日志,记录下日志名字和起始位置
服务器A:
mysql> show master status\G;
记录File和Position.
服务器B:
mysql> show master status\G;
记录File和Position.

4. 进行从读设置,指定要读的主服务库的地址、用户、密码、日志等
服务器A:
mysql>
change master to
master_host=‘10.20.6.99’, # 指定服务器B的地址
master_user=‘replicate’, # 指定服务器B创建的用户名
master _password=‘12345’, # 指定服务器B创建的密码
master_log_file=‘WIN-CADSERVER01-bin.000001’, # 指定服务器B的日志文件名
master_log_pos=307; # 指定服务器B的日志起始位置
服务器B:
mysql>
change master to
master_host =‘10.20.6.90’, # 指定服务器A的地址
master_user =’ replicate ', # 指定服务器A创建的用户名
master _password =‘12345’, # 指定服务器A创建的密码
master_log_file =‘WIN-CADSERVER02-bin.000001’, # 指定服务器A的日志文件名
master_log_pos =321; # 指定服务器A的日志起始位置

5. 重启服务线程并查看服务状态
服务器A:
mysql>start slave; #启动
mysql>show slave status\G; #查看
查看下面两项值均为Yes,即表示设置从服务器成功。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
服务器B:同上;
若出现NO,根据ERROR提示定位错误。

浙公网安备 33010602011771号