mysql主主备份在不停机的情况下修改另外一个数据库服务器
192.168.1.207为主机A
192.168.1.208为从机B
需要双机互备的数据库是pqss_new
主要功能是AB为主主备份,但是A已经运行一段时间了,B是最新需要添加的主服务器:操作的主要在步骤是现将A的数据备份到B,然后实现AB的主主互备。
1,编辑A,B的配置,添加下面红框中的配置(其中B的server-id=2):
2,给A,B机器分别添加备份数据库的用户。
A:
B:
3,将A机器上的数据库pqss_new备份,保存检查备份数据的MASTER_LOG_FILE and MASTER_LOG_POS.。然后将备份文件压缩传递到B机器上。
备份数据库:mysqldump --skip-lock-tables --single-transaction--flush-logs --hex-blob --master-data=2 -uroot -p123456 pqss_ceshi >~/dump1.sql
压缩文件:
传送文件:
备份数据库的属性:
4,此时在A的pqss _new上新建表test1.
5,在B机器上新建数据库pqss_ceshi,将A机器上备份的数据库还原到B机器上。
解压缩文件:
还原数据库:
6,在B机器上指定数据库同步A机器上的数据文件和位置(参照第三步的数据)
mysql> change master tomaster_host='192.168.1.207',master_user='repl1',master_password='123456',master_log_file='mysql-bin.000008',master_log_pos=106;
7,重启B机器的mysql,然后启动slave。
此时可以看到A机器第四步新添加的test1表在B的pqss_new上出现了。接着在A的pqss_new上做其他操作可以看到都同步到了B的pqss_new中,说明A作为B的主机设置成功。
8,接着设置B是A的主机:指定A机器同步B机器的数据文件和位置,接着重启A的mysql,启动A的slave。
(A机器)设计文件和位置:
change master tomaster_host='192.168.1.208',master_user='repl2',master_password='123456',master_log_file='mysql-bin.000010',master_log_pos=106;
9.此时可以看到在B机器上的操作同样同步到了A机器,说明B作为A的主机也设置成功。下面分别查看两个数据库的master,可以看到Position相同,说明两个数据库现在已经保持一致了。
A机器 B机器