MySQL 服务无法启动,且服务没有报告任何错误
今天运行毕设项目在使用到mysql时候出现了一下两种错误,绊了一整天,所以把最后有用的办法总结一下,防止下一次摸不着头脑
-
错误一:mysql 服务无法正常启动,且服务没有报告任何错误。
mysql 服务正在启动 . mysql 服务无法启动。 服务没有报告任何错误。
-
错误二:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)
首先是无法正常启动MySQL的解决办法
- 方法一:尝试手动启动MySQL服务 在dos窗口下执行 services.msc 命令,在弹出服务窗口后找到MySQL并右键启动(我当时已经无法启动,点击启动后会启动中断,所以对我来说pass咯)
- 方法二:清空data文件并安装(成功) 清空MySQL目录下的data文件(我是先备份好了一份,然后直接清空了data而不是删除data又再建data文件夹) 在bin目录下执行命令行 mysqld --initialize --console (root@localhost:后面这一串就是mysql的初始登录密码,最好复制保留,你后面要用到的) 如果已安装mysql服务,需要先删除该服务 sc delete mysql 安装MySQL服务 mysqld --install mysql 再次尝试启动MySQL服务 net start mysql(这次就成功了)
接着就是数据库连接错误问题
- 配置好mysql文件下的my.ini文件,参考:(目录记得更改为自己的)
[client] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 设置3306端口 port = 3306 # 设置mysql的安装目录 basedir ="E:mysql-8.0.18-winx64" # mysql数据存放目录 datadir ="E:mysql-8.0.18-winx64data" # 允许最大连接数 max_connections=20 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
- 管理员身份运行cmd执行 sc query mysql 和 sc delete mysql 把原本安装好的[mysql删除](分开执行)
- 再次清空MySQL目录下的data文件夹
- 在mysql的bin文件夹下运行 mysqld --initialize-insecure,等待运行完成。
- 继续运行 mysqld.exe --install mysql --defaults-file=E:mysql-8.0.18-winx64my.ini (地址记得更改)
- 然后再尝试启动服务 net start mysql