MySQL Error number: MY-012213; Symbol: ER_IB_MSG_388; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-012213; Symbol: ER_IB_MSG_388; SQLSTATE: HY000
Message: %s
错误说明
MY-012213错误,代表 ER_IB_MSG_GENERAL_TABLESPACE_UNDER_DATADIR, 又称 “HY000”,是一种具有MySQL意义的SQLSTATE错误,它表示一般的表空间位于数据目录底下的错误。当表空间位于数据库目录底下,而不是MySQL数据库实例的data目录时,该错误可能发生。
常见案例
这个错误最常见的情况是当用户试图将表空间放在MySQL数据库实例的数据目录之外时。另一种情形是当用户试图将表空间放在MySQL数据库实例的数据目录之内,但其表空间目录不正确,例如,表空间是“/usr/appname/mysql/data/MyTableSpace”而不是“/usr/appname/mysql/data/MyTableSpace.ibd”。
解决方法
1. 将表空间放在数据库实例的数据目录之外,即将其放在innodb_data_home_dir指定的目录底下。该指令功能为选择定义表空间信息文件的目录,并让InnoDB存储表空间数据文件。
2. 如果用户仍旧希望将表空间放置在数据库实例的数据目录之内,则需要确保表空间的路径完全正确。
3. 此外,可以尝试在MySQL运行表空间不在datadir中之后,将data_home_dir参数设置为空字符串或把它重置为单选参数。