MySQL Error number: MY-012753; Symbol: ER_IB_MSG_928; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-012753; Symbol: ER_IB_MSG_928; SQLSTATE: HY000
Message: %s
错误说明:
ER_IB_MSG_928 错误号(error number)表示InnoDB并行复制(parallel replication)发生了一个错误。这是针对MySQL 5.7和8.0新添加的 InnoDB 并行复制特性而设计的错误。而这个错误就是提醒执行 START SLAVE … PARALLEL_NUM … 命令时,PARALLEL_NUM参数的值必须是大于0的整数。
常见案例
Early MySQL 5.7的版本 需要在master上执行 START SLAVE UNTIL … 命令。在slave上分别执行CHANGE MASTER … MASTER_LOG_POS=0和START SLAVE UNTIL … 命令。
由于在slave服务器上执行的CHANGE MASTER … MASTER_LOG_POS=0命令的参数值(也就是是 master_log_pos)被设置成0,就会造成一个执行 START SLAVE … PARALLEL_NUM … 的错误——’The value of parameter ‘parallel_num’ is
解决方法:
可以先模拟一次从master到slave的数据复制来解决这个问题,就是使用mysqldump先从master导出一份数据,然后再在slave机器上进行恢复(restore)这份数据。
步骤如下:
1. 在master上执行mysqldump,从master备份数据。
2. 将这份数据文件传输到 slave服务器上。
3. 在slave上使用mysql进行恢复数据。
4. 在slave执行START SLAVE UNTIL … 命令。
5. 修改slave上的 CHANGE MASTER … MASTER_LOG_POS=0 命令,使parallel_num的值大于0。
6. 再次执行 START SLAVE … PARALLEL_NUM … 命令。
这样就可以有效地解决ER_IB_MSG_928错误号的问题了。