The*_*gia 6 mysql replication percona gtid
我想在启用 GTID 的情况下创建 Percona 服务器的副本,但当我显示从属状态时出现此错误:
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires.'
Run Code Online (Sandbox Code Playgroud)
通常,我会停止我的从站,重置它,重置主站(在从站上),然后从主站获取新的 GTID_PURGED 值。但这一次,master 有一个非常不寻常的值,我不知道如何确定使用哪一个:
mysql> show master status\G
*************************** 1. row ***************************
File: mysqld-bin.000283
Position: 316137263
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set: 1570dee1-165b-11e6-a4a2-00e081e93212:1-3537,
c73f3ee7-e8d4-ee19-6507-f898a9930ccd:1-18609,
cdb70eaa-f753-ee1b-5c95-ecb8024ae729:1-2357789559:2357789561-2357790104:2357790106-2514115701:2514115703-2514115705:2514115707-2546512667
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
从具有新备份副本的从属设备中,我得到以下信息:
root@ubuntu:/var/lib/mysql# cat xtrabackup_binlog_info
mysqld-bin.000283 294922064 1570dee1-165b-11e6-a4a2-00e081e93212:1-3537,
c73f3ee7-e8d4-ee19-6507-f898a9930ccd:1-18609,
cdb70eaa-f753-ee1b-5c95-ecb8024ae729:1-2357789559:2357789561-2357790104:2357790106-2514115701:2514115703-2514115705:2514115707-2546400960
Run Code Online (Sandbox Code Playgroud)
另一件事是,在进行备份之前,我刚刚清除了主服务器上的二进制日志。自动 binlog 清除设置为 7 天。所以我知道这不是因为 bin 日志已按照错误提示被清除。
我正在运行 Ubuntu 14:04 和 Percona 服务器版本 5.6.31-77。
我该如何解决这个问题?master的GTID_PURGED的正确值是多少?
mysql 5.6 GTID 复制错误和修复\n什么是 GTID?\xef\xbf\xbc
\n\n4c2ad77f-697e-11e3-b2c3-c80aa9f17dc4\nRun Code Online (Sandbox Code Playgroud)\n\n这是服务器的 128 位标识号 (SERVER_UUID)。它标识了交易的起源地。每个服务器都有自己的 SERVER_UUID。\nGTID 解决什么问题?
可以跨复制服务器唯一地标识事务。使故障转移过程的自动化变得更加容易。无需进行计算、检查二进制日志等。只需 MASTER_AUTO_POSITION=1。
复制链的所有服务器都需要三个变量
\n\n复制错误和修复:
\n\n\n\n\n“从二进制日志读取数据时,主服务器出现致命错误 1236:“从服务器正在使用 CHANGE MASTER TO MASTER_AUTO_POSITION = 1 进行连接,但主服务器已清除包含从服务器所需的 GTID 的二进制日志。”slave_io 线程停止运行。
\n
解决方案:考虑以下是主 \xe2\x80\x93 从 UUID\ 的
\n\nMASTER UUID: 4c2ad77f-697e-11e3-b2c3-c80aa9f17dc4\nSLAVE UUID: 5b37def1-6189-11e3-bee0-e89a8f22a444\nRun Code Online (Sandbox Code Playgroud)\n\n脚步:
\n\nslave>stop slave;\n\nslave> FLUSH TABLES WITH READ LOCK;\n\nslave>show master status;\n\n\'4c2ad77f-697e-11e3-b2c3-c80aa9f17dc4:1-83345127,5b37def1-6189-11e3-bee0-e89a8f22a444:1-13030:13032-13317:13322-13325:13328-653183:653185-654126:654128-1400817:1400820-3423394:3423401-5779965\xe2\x80\xb2\n\n(HERE 83345127 Last GTID executed on master and 5779965 Last slave GTID executed on Master )\n\nslave> reset master;\n\nslave>set global GTID_PURGED=\'4c2ad77f-697e-11e3-b2c3-c80aa9f17dc4:1-83345127,5b37def1-6189-11e3-bee0-e89a8f22a444:1-5779965\xe2\x80\xb2;\n\nslave>start slave;\n\nslave>unlock tables;\n\n slave>show slave status;\nRun Code Online (Sandbox Code Playgroud)\n\n注意:在此之后,如果其他从机停止复制,请重新启动其他从机;
\n\n\n\n\n错误:\'查询时出现错误“表\xe2\x80\xa6\'不存在”。默认数据库:\xe2\x80\xa6查询:“INSERT INTO OR Last_SQL_Error:\xe2\x80\xa6.Error \'重复条目\' SKIP 从属事务(slave_sql 线程停止运行)注意:
\n
解决方案:考虑以下是主 \xe2\x80\x93 从 UUID\ 的
\n\nMASTER UUID: 4c2ad77f-697e-11e3-b2c3-c80aa9f17dc4\nSLAVE UUID: 5b37def1-6189-11e3-bee0-e89a8f22a444\nRun Code Online (Sandbox Code Playgroud)\n\n从机>显示从机状态;
\n\n复制“Executed_Gtid_Set”值。\'4c2ad77f-697e-11e3-b2c3-c80aa9f17dc4:1-659731804,5b37def1-6189-11e3-bee0-e89a8f22a444:1-70734947-80436012:80436021-80437839\'
\n\n- 似乎从站(uuid 5b37def1-6189-11e3-bee0-e89a8f22a444)事务“80437840”导致了这里的问题。
\n\nslave> STOP SLAVE;\n\nslave> SET GTID_NEXT="5b37def1-6189-11e3-bee0-e89a8f22a444:80437840"; (last_executed_slave_gtid_on_master + 1)\n\nslave> BEGIN; COMMIT;\n\nslave> SET GTID_NEXT="AUTOMATIC";\n\nslave> START SLAVE;\n\nslave> show slave status;\nRun Code Online (Sandbox Code Playgroud)\n\n一切就绪!
\n| 归档时间: |
|
| 查看次数: |
25918 次 |
| 最近记录: |