数据库同步工具
sqlserver,Mysql数据同步软件

Mysql主从双向同步

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

最近的部署测试环境涉及MySQL数据库主从双向同步的部署。记录部署过程。正常的读取和写入全部发生在主数据库中,而从数据库用作备用数据库(热备份)。自动切换到辅助库。这里没有研究如何监视数据库异常和触发自动切换(公司使用的自行开发的中间件,可以在此处使用心跳实现,没有做任何研究);另外,在主库和从库中,还可以配置只读模式的备用库,该库可以实现读写分离(使用mycat),这取决于是否需要配置实际的业务性能要求。以下只是对主从双向同步的配置的简要介绍:

1.原理:在Internet上找到的图表应清楚地说明网络中的关键组件和功能。此图是主从复制,不是双向同步,但是双向同步几乎相同。 ,但是主库既是主库又是从库,而从库也是主库和从库。

=” 212″/> p>

2.为进行环境准备,主从库的MySQL版本安装了相同版本(5.6.38),以避免未知异常

主库:192.168.245.130:3306

从库中:192.168.245.131:3306

3.主服务器库和从属库的配置相同,除了server-id

 #设置server_id, 主从服务器配置不同的值 

服务器 - id = 1

#启用二进制日志功能,最好是绝对路径

log_bin = / opt / 数据库 / mysql / mysql - bin。 日志

#中继日志路径

relay_log = / opt / 数据库 / mysql / mysql - relay - bin。 日志

#允许将从库中重播的事件记录在其自己的二进制日志中

log_slave_updates = 1

#二进制日志会自动删除 / 过期的天数。默认值为0,表示没有自动删除。

expire_logs_days = 7

#从站重播事件期间忽略的错误,全部是忽略所有错误

#ddl_exist_errors: 1007 1008 1050 1051 1054 1060 1061 1068 1094 1146

从属 - skip - errors = ddl_exist_errors

\ 4.主服务和从服务都创建帐户并授权:

 #在131台计算机上执行以下SQL,在130台计算机上将130替换为131,并执行密码自定义

#创建用户代表

创建 用户 " repl " @ " 192.168.245.130 " 已识别 BY " 123456 " ;

#授权

GRANT 复制 SLAVE ON * * TO " repl " @ " 192.168.245.130 " ;

#刷新权限

刷新 特权;

5.查看主服务器和从属服务器上的从属状态:SHOW MASTER STATUS;

mysql \>显示主人身份;
+——————+———-+————–+——————+——————-+
|档案|职位| Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+——————+———-+————-+——————+——————-+
| mysql-bin.000001 | 154 | | | |
+——————+———+————–+——————+——————-+
设置1行(0.00秒)

分别记录主服务器和从属服务器的文件和位置,稍后再使用

6.主服务和从属服务均执行从属同步语句。 MASTER_LOG_FILE和MASTER_LOG_POS填写上一步中查询的值。根据实际情况填写MASTER_HOST,MASTER_USER和MASTER_PASSWORD。 使用\时 MASTER_AUTO_POSITION参数, MASTER_LOG_FILE, MASTER_LOG_POS参数不能使用 :

将MASTER更改为MASTER_HOST =” 192.168.245.130″,MASTER_USER =” repl”,MASTER_PASSWORD =” 123456″,MASTER_LOG_FILE =” mysql-bin.000001″,MASTER_LOG_POS = 154;

7.主服务器和从服务器启动从服务器:START SLAVE;

8.主服务器和从属服务器都检查从属状态:SHOW SLAVE STATUS \\\\ G;

mysql \>显示从站状态\\\\ G;
*************************** 1.行***** *********** ***********
Slave_IO_State:等待主机发送事件
Master_Host:192.168.245.130
Master_User:rep
Master_Port:3306
Connect_Retry:60
Master_Log_File:mysql-bin.000001
Read_Master_Log_Pos:154
Relay_Log_File:mysqld-relay-bin.000001
Relay_Log_Pos:117
Relay_Master_Log_File:mysql-bin.000001
Slave_IO_Running:是
Slave_SQL_Running:是

Slave_IO_Running和Slave_SQL_Running状态的状态均为YES,表示已配置了主从同步。 Seconds_Behind_Master显示主机后面的数据延迟。通过这些数据,您可以查看主从之间的时间差,并判断主从同步压力的性能。

9.常见问题解答:

当主从复制时,在执行SQL线程时发生异常,Slave_SQL_Running状态编程为NO,如何解决?

目前,我没有更好的方法来解决它。我将slave-skip-errors参数添加到配置参数中以忽略错误。应该实际评估如何在实际生产环境中添加此参数。如果未添加此参数,则SQL执行异常当时,主从同步实际上被阻止,您只能手动恢复,重新指定pos,停止salve-》将master更改为-》 start slave

b。如何删除bin日志

停止从站-》重置从站-》启动从站

c。如何启动GTID(全球交易ID)

将以下参数添加到my.cfg配置文件中,然后重新启动MySQL:

gtid_mode = on
force_gtid_consistency = 1
log_slave_updates = 1

未经允许不得转载:数据库同步软件|Mysql数据同步软件|sqlserver数据库同步工具|异构同步 » Mysql主从双向同步

分享到:更多 ()

syncnavigator 8.6.2 企业版

联系我们联系我们