数据库
首页 > 数据库> > Mysql双主配置

Mysql双主配置

作者:互联网

1.my.cnf配置

分别修改主机和备机的配置文件,文件位置/etc/my.cnf

[mysqld]

#两台机器这个id值要配置成不一样的,可以一个是1,一个是2

server-id=1

#两台机器需要相互同步的数据库名,分配配置db1、db2的数据库名字

replicate-do-db = db1

replicate-do-db =db2

#不会因为一个错误影响所有语句 

slave_skip_errors=all 

#其他添加下面两项

sync_binlog=1

log-bin=mysql-bin

修改好配置后,需要重启两台机器的mysql

service mysql restart

2.授权

 (1)主机给备机开启一个用于同步的slave账号,并进行授权。分别执行下面两条语句,只需要修改ip为备机的真实ip即可。sqlsync是授权的账号和密码。可以不用修改,下一步要用。

grant replication slave on *.* to 'sqlsync'@'192.168.20.40' identified by 'sqlsync';

flush privileges;

(2)备机给主机开启一个用于同步的slave账号,并进行授权。分别执行下面两条语句,只需要修改ip为主机的真实ip即可。

grant replication slave on *.* to 'sqlsync'@'192.168.20.20' identified by 'sqlsync';

flush privileges;

3.开启同步

(1)配置备机

登录主机的mysql,执行下面语句。

show master status;

结果如下图

登录备机的mysql,执行下面语句。

Change master to master_host='11.12.86.110',master_user='sqlsync',master_password='sqlsync',master_log_file='bin.000003',master_log_pos=380219604;

start slave;

注意:master_host为主机的真实ip,master_user和master_password为上一步授权的账号和密码,master_log_file为上图的File的值,master_log_pos为上图的Position的值。

备机的mysql,执行

show slave status\G;

如果显示下图,Slave_IO_Running和Slave_SQL_Running都为yes,说明主从配置成功。

(2)配置主机

登录备机的mysql,执行下面语句。

show master status;

结果如下图

登录主机的mysql,执行下面语句。

change master to master_host='11.12.86.110',master_user='sqlsync',master_password='sqlsync',master_log_file='bin.000018',master_log_pos=32538326;

start slave;

注意:master_host为备机的真实ip,master_user和master_password为上一步授权的账号和密码,master_log_file为上图的File的值,master_log_pos为上图的Position的值。

主机的mysql,执行

show slave status\G

如果显示下图,Slave_IO_Running和Slave_SQL_Running都为yes,说明主从配置成功。

 

标签:slave,log,Mysql,配置,备机,sqlsync,master,mysql,双主
来源: https://blog.csdn.net/weixin_42209368/article/details/115871485