MySQL Error number: 4010; Symbol: ER_BINLOG_UNSAFE_ACL_TABLE_READ_IN_DML_DDL; SQLSTATE: HY000

文档解释

Error number: 4010; Symbol: ER_BINLOG_UNSAFE_ACL_TABLE_READ_IN_DML_DDL; SQLSTATE: HY000

Message: The statement is unsafe because it updates a table depending on ACL table read operation. As storage engine row locks are skipped for ACL table, it may not have same effect on source and replica.

错误说明:

ER_BINLOG_UNSAFE_ACL_TABLE_READ_IN_DML_DDL 错误指示使用拥有权限表 (ACL 表) 的 DML 或者 DDL 操作进行了 binlog 日志记录,而这些操作可能会影响复制的安全性。

常见案例

通常,ER_BINLOG_UNSAFE_ACL_TABLE_READ_IN_DML_DDL 错误会在正在使用拥有权限表 (ACL 表) 的任何 DML 或者 DDL 操作时发生。拥有权限表包括一系列用于管理数据库访问权限的系统表,它们在内存中保存有用户列表。

解决方法:

要解决 ER_BINLOG_UNSAFE_ACL_TABLE_READ_IN_DML_DDL 错误,可以将 binlog 日志记录级别调整到安全模式,即 –binlog-format=safe_mode 。这样就可以确保复制行为的安全性,而无需禁用 binlog 日志记录功能。

你可能感兴趣的