小皮面板PhpStudy下的MySQL无法启动解决方法
今天启动小皮面板后发现MySQL5.7.26无法启动,进入\MySQL5.7.26\bin目录下出现报错信息:
# mysql -u root -pERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES);# mysqld --skip-grant-tables# mysql -u rootERROR (HY000): Can't connect to MySQL server on 'localhost' (10061)
通过百度查资料各种方法并测试,感觉和我的情况不一样。最终经多番尝试后解决。具体解决方式如下:
1)以管理员身份启动cmd
2)用mysqld --console查看Mysql启动日志信息,看看报错信息
mysqld --console-04-05T06:25:38.854496Z 0 [ERROR] InnoDB: The innodb_system data file ' ib_logfile0' must be writable-04-05T06:25:38.855913Z 0 [ERROR] InnoDB: The innodb_system data file ' ib_logfile1' must be writable-04-05T06:25:38.856113Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error-04-05T06:25:39.159752Z 0 [ERROR] Plugin 'InnoDB' init function returned error.-04-05T06:25:39.160721Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.-04-05T06:25:39.168899Z 0 [ERROR] Failed to initialize builtin plugins.-04-05T06:25:39.175222Z 0 [ERROR] Aborting
3)反正是本地日志,应该没啥影响,右键使用360强制删除文件功能,删除以上两个日志文件 ib_logfile0和ib_logfile1
4) 重新初始化Mysql的root密码:
# 跳过密码检查启动mysql,居然进去了!# mysqld --defaults-file="D:\phpstudy_pro\Extensions\MySQL5.7.26\my.ini" --console --skip-grant-tables# 免密码登陆mysql,并重置root密码# mysql# > use mysql;# > update mysql.user set authentication_string = password("123456") where user="root";# > flush privileges;# > quit;
密码重置成功,Mysql可以重启了。
4)如果你在修复过程中不小心安装了mysql的服务,就是使用了mysald --install 命令。那么,在修复小皮面板的启动功能时,必须运行sc delete mysql删除mysql服务,以便让小皮面板接管启动功能。
# sc delete mysql