分别修改主机和备机的配置文件,文件位置/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
(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;
(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,说明主从配置成功。