一、主机Master配置
1、进入控制台, 输入 “vi /etc/my.cnf”
请不要进入编辑模式,直接输入“/mysqld”
按回车
2、在”socket”的下一行输入:
server-id = 1
log_bin = /home/mysql/master.log
read-only = 0
按Esc退出编辑模式
:wq 保存,关闭
3、输入命令”service mysql restart”
4、在控制台中输入”/usr/bin/mysql -uroot -p”
输入密码: 123456
5、登录成功后输入如下命令并回车:
GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.1.40' IDENTIFIED BY '123456';
此命令里的192.168.1.40是指Slave服务器在心跳网络中的IP;
完成后如下图:
6、输入下面这行命令:
flush privileges;
reset master;
show master status;
会出现类似下图的表格:
此时请用笔记下表格中出现的文件序号:000001 和位置:107(真实情况下该两者与此图可能有所不同,请按实际情况记录)
输入下面的命令退出:
\q
二、备机配置
1、进入控制台, 输入”vi /etc/my.cnf”
直接输入”/mysqld”
按回车
在”socket”的下一行输入:
server-id = 2
log_bin = /home/mysql/slave.log
replicate-do-db = eccs
skip-slave-start = 1
按Esc退出编辑模式
:wq 保存,关闭
2、输入命令”service mysql restart”
在控制台中输入”/usr/bin/mysql -uroot -p”
输入密码: 123456
输入如下命令来配置slave的数据同步目标(注意,此命令中的 192.168.1.196 是master的心跳网络IP地址, 000001和307是前面在master机上操作 show master status; 时记录下的信息):
输入:
change master to master_host='192.168.1.196', master_user='backup', master_password='123456', master_port = 3306, master_connect_retry = 30, master_heartbeat_period = 5000, master_log_file='mysql-bin.000001', master_log_pos=107;
最后输入以下命令来开始同步:
slave stop;
reset slave;
slave start;
3、接着再输入如下命令来查看同步状态:
show slave status\G;
看Last_IO_Error, Last_SQL_Error这两个参数是不是有出错信息, 如果没有, 主从已开启。
三、重启应用和服务器
主机Master MySQL 重启mysql服务,主备保持关联
主机Master MySQL 重启计算机,主备保持关联
备机Slave MySQL 重启mysql服务,主备不保持关联
备机Slave MySQL 重启计算机,主备不保持关联