今天运行毕设项目在使用到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在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐