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重启,这个错误就可以解决了。

你可能感兴趣的