Error number: MY-011885; Symbol: ER_IB_MSG_60; SQLSTATE: HY000
Message: %s
错误说明
MySQL的ER_IB_MSG_60错误表明无法启动外部服务器上的表,因为mysql无法打开文件。相关的SQLSTATE是HY000,MySQL错误是MY-011885。
常见案例
最常见的ER_IB_MSG_60错误场景。该错误通常发生在MySQL实例内部表和外部服务器上的表之间切换时发生。以下是外部数据表创建失败的常见示例:
CREATE TABLE customer_order_ext TABLE customer (
customer_id INT NOT NULL,
customer_name VARCHAR,
country_id VARCHAR,
create_date DATETIME
)
ENGINE=External;
解决方法
要解决ER_IB_MSG_60错误,使用户能够使用外部数据表,必须采取一些措施。
1. 确认文件的访问权限
确保MySQL服务器有足够的权限来访问my.cnf文件和MySQL.sock文件以及注册表中记录的所有外部表文件。
2. 审查mysql.ini文件
检查my.cnf文件以确保指定的存储引擎正确设置。每种存储引擎定义需包含my.cnf文件中的一些特定参数,而一些参数(例如innodb_data_file_path参数)似乎是必需的。
3. 关闭MySQL服务
检查MySQL服务是否正在运行,如果是,关闭MySQL服务,然后重新启动MySQL服务。重新启动服务可以重新加载mysql.ini文件,从而让更改参数生效。
4. 重命名数据表
如果上述步骤不起作用,需要尝试重命名数据表或它的别名,然后重试。重命名数据表可以使现有表失效,因而可在重建表时避免重复。