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错误号的问题了。

你可能感兴趣的