文档解释
Error number: 3794; Symbol: ER_RPL_ENCRYPTION_MASTER_KEY_RECOVERY_FAILED; SQLSTATE: HY000
Message: Unable to recover binlog encryption master key, please check if keyring is loaded.
错误ER_RPL_ENCRYPTION_MASTER_KEY_RECOVERY_FAILED (3794) 表明MySQL服务器无法恢复RPL加密主密钥。
常见案例
该错误常见于MySQL服务器备份丢失或不可用时出现,而无法使用master.info文件来恢复RPL加密主密钥。如果文件丢失,MySQL服务器无法恢复RPL主密钥,也就无法复制,报错ER_RPL_ENCRYPTION_MASTER_KEY_RECOVERY_FAILED将会被报出。
另外,当一个客户端有多个SSL证书,且只有其中一个已知的SSL证书能够被识别时,此错误也会出现。
解决方法:
解决这个错误的最佳方法是检查master.info文件是否可用。仔细检查这个文件,如果丢失,可以从备份中恢复该文件,以恢复RPL加密主密钥。
如果在使用MySQL复制状态时,RPL加密主密钥没有存储在master.info文件中,则可以用mysql.slave_master_key表来重新添加主密钥,从而解决这个错误。
如果确定有多个SSL证书,可以通过以下步骤解决这个错误:
1. 将所有包含SSL证书的所有客户端放在同一个SSL上下文中。
2. 从该客户端发送一个停止复制指令,确保停止复制所有客户端。
3. 检查证书是否可用,移除无效的SSL证书,只启用一个确定有效的SSL证书。
4. 启动复制。