关键字:mysql无法启动服务,mysql卡死,InnoDB' registration as a STORAGE ENGINE failed.Unknown/unsupported table type: innodb.
前几天,启动mysql时,突然报1067系统错误,死活无法启动。
当时不管三七二十八,重装,清空注册表,重启,任然没办法启动。
总是在安装后的配置那里最后一步启动服务的界面卡死,半天没反应。
折腾了两三个小时,才猛然想起,该去看看日志,
110223 15:58:08 [Note] Plugin 'FEDERATED' is disabled.
110223 15:58:08 InnoDB: Initializing buffer pool, size = 17.0M
110223 15:58:08 InnoDB: Completed initialization of buffer pool
InnoDB: No valid checkpoint found.
InnoDB: If this error appears when you are creating an InnoDB database,
InnoDB: the problem may be that during an earlier attempt you managed
InnoDB: to create the InnoDB data files, but log file creation failed.
InnoDB: If that is the case, please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/error-creating-innodb.html
110223 15:58:08 [ERROR] Plugin 'InnoDB' init function returned error.
110223 15:58:08 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
110223 15:58:08 [ERROR] Unknown/unsupported table type: innodb
110223 15:58:08 [ERROR] Aborting
大意是innodb初始化失败,不认识innodb类型。
google了一下,把my.ini文件打开,更改default-storage-engine=innodb为default-storage-engine=myism
启动成功。但是建表时找不到innodb引擎了。
但想着,也不能老这样啊,这样innodb也用不了了,有google了一下,主要是innodb日志大小不对造成的
innodb_buffer_pool_size=512M
innodb_log_file_size=128M
把以上几个参数调大点,然后把ibdata1,ib_logfile0,ib_logfile1这三个文件删除后,再重启服务就好了。
如果还是不行,在my.ini文件里还需要加入tmpdir="usr/tmp"这样的路径,因为innodb还需要一个临时的文件缓存区。
还遇到的问题是在安装MYSQL配置了密码后(卡在了最后一步上,因为mysql默认生成的配置文件是错误的,无法启动service,第四步权限设置也无法设置,等下去是没用的,你应该关闭配置工具,按我上面说的修改配置文件),无法登陆,可以先启动服务(此时配置已经被我们修改正确了),然后在命令行下用root用户登陆刷新权限就可以了。flush privileges.记住,登录时root不要输入密码(尽管你安装时设置了密码,但是无效),否则是操作不了的,因为此时权限还不存在。等一切正常了之后再改密码.