众所周知Mysql5.1.46默认引擎为Myisam,那如何开启InnoDB引擎呢?本人在安装数据库并开启InnoDB引擎时出现不少错误,先一一列举仅供大家参考。
1. 系统环境
系统:
CentOS release 5.4 (Final)
软件:
MySQL-server-community-5.1.46-1.rhel5
MySQL-shared-compat-5.1.37-0.rhel5
MySQL-client-community-5.1.46-1.rhel5
2. 开启InnoDB报错
在配置文件中添加以下内容 #cat /etc/my.cnf default-storage-engine=innodb default-table-type=innodb default-character-set=utf8 character-set-server=utf8 collation-server=utf8_general_ci 启动失败日志 #tail -f /var/log/mysqld.log
3. 故障排查
查看myql是否支持InnoDB引擎 mysql> SHOW variables like "have_%"; +-------------------------+----------+ | Variable_name | Value | +-------------------------+----------+ | have_community_features | YES | | have_compress | YES | | have_crypt | YES | | have_csv | YES | | have_dynamic_loading | YES | | have_geometry | YES | | have_innodb | NO | | have_ndbcluster | NO | | have_openssl | DISABLED | | have_partitioning | YES | | have_query_cache | YES | | have_rtree_keys | YES | | have_ssl | DISABLED | | have_symlink | YES | +-------------------------+----------+ 14 rows in set (0.00 sec)
安装innodb插件提示初始化错误 问题: mysql> INSTALL PLUGIN InnoDB SONAME 'ha_innodb_plugin.so'; ERROR 1123 (HY000): Can't initialize function 'InnoDB'; Plugin initialization function failed. 解决: 把ibdata1,ib_datafile0,ib_datafile1重命名,让系统重新生成数据文件和两个日志文件;