Mysql双主配置

2021/4/19 19:25:15

本文主要是介绍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,说明主从配置成功。

 



这篇关于Mysql双主配置的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程