欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux环境下mysql主主互备模式配置(亲测可行)

程序员文章站 2024-03-20 14:58:34
...

一、mysql版本及需求说明

1、主机版本5.6.39-log 所在主机IP 47.95.241.100 端口号3306
2、从机版本5.7.27-log 所在主机IP 47.93.103.175 端口号3306
3、mysql安装略
4、IP为100的mysql目前有的数据库信息:information_schema、mysql、performance_schema,oa101mysql,rdp_server,xinzhi,test
5、IP为175的mysql目前有的数据库信息:information_schema,mysql,performance_schema,sys,test
6、需求
①、100上的mysql只需同步175上除information_schema,mysql,performance_schema,sys之外的所有数据库数据。
②、175上的数据只需同步100上除information_schema、mysql、performance_schema,oa101mysql,rdp_server,xinzhi之外的所有数据库信息。

二、具体配置

1、my.cnf配置文件配置
①、100主机配置
linux环境下mysql主主互备模式配置(亲测可行)
配置完之后须重启mysql服务(具体操作略)
②、175主机配置如下:
linux环境下mysql主主互备模式配置(亲测可行)
配置完后须重启mysql服务

2、主机为100和175的相互创建并授权账号信息
①、登录100主机的mysql服务执行如下sql命令

GRANT REPLICATION SLAVE ON *.* TO aaa@qq.com'47.93.103.175' IDENTIFIED BY '123456';

②、登录175主机的mysql服务执行如下sql命令

GRANT REPLICATION SLAVE ON *.* TO aaa@qq.com'47.95.241.100' IDENTIFIED BY '123456';

创建授权账号后可执行如下sql,查询账号信息

SELECT user,host from mysql.user;

3、分别查询两个主机数据日志信息并相互配置
①、登录100主机上的mysql服务执行如下命令:

show master status;

结果如下:
linux环境下mysql主主互备模式配置(亲测可行)
②、登录175主机上的mysql服务执行如下命令:

show master status;

结果如下:
linux环境下mysql主主互备模式配置(亲测可行)
③、相互配置链接数据及账号等信息
a、在100的主机上执行如下sql命令;

stop slave;
change master to master_host='47.93.103.175',master_user='slave',master_password='123456',master_log_file='mysql-bin.000002',master_port=3306,master_log_pos=766;
start slave;

b、在175的主机执行如下sql命令

stop slave;
change master to master_host='47.95.241.100',master_user='slave',master_password='123456',master_log_file='mysql-bin.000002',master_port=3306,master_log_pos=428;
start slave;

④、验证配置
在两个数据库服务上分别执行如下sql命令:

show slave status \G;

linux环境下mysql主主互备模式配置(亲测可行)

linux环境下mysql主主互备模式配置(亲测可行)

四、测试

1、在100上创建一个test1数据库,在175上查看
linux环境下mysql主主互备模式配置(亲测可行)

linux环境下mysql主主互备模式配置(亲测可行)
2、在175上删除test1数据库,在100上查看
linux环境下mysql主主互备模式配置(亲测可行)

linux环境下mysql主主互备模式配置(亲测可行)
备注:不要在主库(互为主备时的从库)上使用binlog-do-db或binlog-ignore-db选项,也不要在从库(互为主备)上使用replication-db-do或replication-db选项,因为这样可能产生跨库更新失败的问题;主主互备时推荐从库上使用replicate_wild_do_table和replicate-wild-ignore-table两个选项来解决复制过滤问题,主从互备也推荐这种配置