MySQL启动失败——MySQL服务无法启动原因及解决办法
MySQL启动失败
- MySQL启动失败——MySQL服务无法启动原因及解决办法
-
- 1.缺乏my.ini文件
- 2.缺乏data文件
- 3.端口占用(MySQL的默认端口是3306)
此处我的电脑为win10,mysql为8.0版本。
一般情况下,通过压缩的安装包,安装MySQL可能会出现MySQL无法启动的情况,如下图:
综合网上的各种资料,加自己的实际操作,总结为以下三种原因:
1.缺乏my.ini文件
通过记事本的方式创建my.ini文件, 也可以在电脑中搜索其他的my.ini文件,将其复制后,进行修改(确保为配置文件的格式)。
my.ini文件的创建可以参考这篇博客:https://blog.csdn.net/shinny195/article/details/82319218
创建好my.ini文件之后,将其保存到sever目录下,如下图:
2.缺乏data文件
在缺乏data文件时,一定注意不要手动创建data文件!!!手动创建data文件仍然会出现无法启动的情况。
操作方式:
(1)用管理员身份运行命令控制符(cmd)
注意!!!此时如果不用管理员身份运行,可能会出现错误。
(2)在cmd中输入
mysqld --initialize --user=mysql --console
此时会出现
记住此时的临时密码,在之后会用到它。
注意!!!
如果命令行敲为mysqld --initialize-insecure ,没有加–console 在登录mysql时,直接点击enter即可进入,此时的密码为空密码,但是之后会生成一个密码,是我们看不到的,下一次就登录不进去mysql了。(密码错误)
(3)运行mysql
(4)修改密码,输入 ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
3.端口占用(MySQL的默认端口是3306)
此处可以通过查看data下的.err文件,查看是否有端口占用的情况。
若为端口占用,此时可以通过在命令行输入以下命令查看是哪个进程占用了端口3306。
netstat -ano
找到占用3306端口的PID,如下图:
去任务管理器关闭对应的PID对应的进程。
此时成功解决问题!!!
在运行mysql的过程中,也有可能出现其他的错误,这些都可以通过查看data中的.err文件,得到对应的原因。