Error number: MY-013577; Symbol: ER_IB_MSG_INNODB_END_INITIALIZE; SQLSTATE: HY000
Message: InnoDB initialization has ended.
错误说明
ER_IB_MSG_INNODB_END_INITIALIZE 这个错误的ER代号是MY-013577,是在 MySQL/MariaDB服务器中产生的,该MySQL/MariaDB错误表示InnoDB数据库在初始化时结束,也就是在自检和初始化数据库时,可能出现InnoDB初始化失败的问题,可能出现了某种错误,而导致从MySQL/MariaDB服务器获取数据库连接时被拒绝。
常见案例
MariaDB [(none)]> start slave
ERROR 1034 (HY000): ER_IB_MSG_INNODB_END_INITIALIZE: InnoDB initialization ended abruptly at line 6270
可以看到,案例中的MariaDB尝试启动从节点时,却出现ER_IB_MSG_INNODB_END_INITIALIZE这个错误,表明InnoDB数据库在初始化时出现了异常结束退出,表明InnoDB初始化失败了。
解决方法
为解决ER_IB_MSG_INNODB_END_INITIALIZE这个错误,需要先找出引发这个错误的原因,有可能是因为改变了MySQL/MariaDB的配置,比如改变了innodb_log_buffer_size等配置,或者因为改变了硬件条件而导致InnoDB无法正常运行,比如内存缺少等。解决方法很简单,就是将改变的配置恢复到原来的配置,并确保MySQL/MariaDB运行正常正常,最简单的办法就是重新启动MySQL/MariaDB服务。此外,也可以选择确认改变的参数是否符合MySQL/MariaDB的最佳实践,如果需要更改参数,建议使用MySQL/MariaDB的测试环境,在测试环境中验证参数的正确性再将改变的参数应用到正式环境中。