MySQL Error number: MY-012916; Symbol: ER_IB_MSG_1091; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-012916; Symbol: ER_IB_MSG_1091; SQLSTATE: HY000
Message: Unable to create encrypted undo tablespace number %lu. please check if the keyring is initialized correctly
错误说明
错误编号 MY-012916,Symbol ER_IB_MSG_1091,SQLSTATE HY000 由于存在数据库系统报错,MySQL 会抛出该异常,表明数据库的完整性检查上有错误发生。
常见案例
MY-012916这个错误一般在当为表中插入数据是发生,此时会检查是否有关联列外键缺少,或者相关联的外键是否存在未定义的列,还有可能是未定义的外键间接或者直接关系列索引,这些不允许的情况都会出现ER_IB_MSG_1091错误。
解决方式
有两种简单的方案可以解决这个问题,第一种是手动找到报错文件,检查ForeignKey 列上是否具有Index;如果没有,可以自行添加该Index;第二种方案就是把修改的语句输入到MySQL控制台中执行,格式如下:
ALTER TABLE `your_table_name` ADD INDEX `idx_foreign_key_name` (`foreign_key_name`);
索引的名称可以任意取,只要改索引列包含在括号里就可以了。执行完后mysql重启,这个错误就可以解决了。