今天运行毕设项目在使用到mysql时候出现了一下两种错误,绊了一整天,所以把最后有用的办法总结一下,防止下一次摸不着头脑

  • 错误一:mysql 服务无法正常启动,且服务没有报告任何错误。
mysql 服务正在启动 .mysql 服务无法启动。服务没有报告任何错误。

  • 错误二:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)

首先是无法正常启动MySQL的解决办法

  1. 方法一:尝试手动启动MySQL服务

    在dos窗口下执行 services.msc 命令,在弹出服务窗口后找到MySQL并右键启动(我当时已经无法启动,点击启动后会启动中断,所以对我来说pass咯)

  2. 方法二:清空data文件并安装(成功)

    1. 清空MySQL目录下的data文件(我是先备份好了一份,然后直接清空了data而不是删除data又再建data文件夹)

    2. 在bin目录下执行命令行 mysqld --initialize --console (root@localhost:后面这一串就是mysql的初始登录密码,最好复制保留,你后面要用到的)

    3. 如果已安装mysql服务,需要先删除该服务 sc delete mysql

    4. 安装MySQL服务 mysqld --install mysql

    5. 再次尝试启动MySQL服务 net start mysql(这次就成功了)

接着就是数据库连接错误问题

  1. 配置好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-winx64\data"# 允许最大连接数max_connections=20# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB
  1. 管理员身份运行cmd执行 sc query mysqlsc delete mysql 把原本安装好的[mysql删除](分开执行)

  2. 再次清空MySQL目录下的data文件夹

  3. 在mysql的bin文件夹下运行 mysqld --initialize-insecure,等待运行完成。

  4. 继续运行 mysqld.exe --install mysql --defaults-file=E:\mysql-8.0.18-winx64\my.ini (地址记得更改)

  5. 然后再尝试启动服务 net start mysql