Error number: MY-011091; Symbol: ER_DD_UPGRADE_OFF; SQLSTATE: HY000
Message: Data dictionary upgrade prohibited by the command line option ‘–no_dd_upgrade’.
MySQL错误代码MY-011091,Symbol为ER_DD_UPGRADE_OFF,SQLSTATE为HY000,表示Data Dictionary功能已被禁用,也就是指MySQL字典(Data Dictionary)安装或者更新失败了。
该错误一般常出现在MySQL数据库进行升级更新或者升级转换时会出现,比如将MySQL从5.6升级到8.0,没有正确更新或者转换Data Dictionary,而Data Dictionary是MySQL安全机制的重要一环,一旦字典操作失败,MySQL将无法正常运行。
理解这个MySQL的错误的关键在于“Data Dictionary”,Data Dictionary(DD)是MySQL的元数据仓库,用来存储MySQL数据库中所有数据字典元数据,是MySQL抽象出来的关系数据库,用来管理其他数据库。MySQL中Manual使用Data Dictionary来管理:
• 数据库名称。
• 表名称。
• 列名称和部分属性。
• 索引名称和属性。
• 存储引擎名称和信息。
• 表的分布和属性。
• 用户名和权限信息。
• SQL语句查询历史。
一旦没有正确更新或迁移Data Dictionary,将会出现ER_DD_UPGRADE_OFF的错误,MySQL会被禁止使用,因为Data Dictionary是MySQL的安全机制必要一环,所以要仔细处理MySQL升级。
要解决这个MySQL错误,可以重新检查Data Dictionary升级程序,并按照正确的步骤,恢复Data Dictionary数据,覆盖升级时可能出现的问题,然后重新启动MySQL数据库,就可以正常使用了。