优秀的编程知识分享平台

网站首页 > 技术文章 正文

mysql 服务启动失败:“mysql 服务启动后停止,...”

nanyue 2024-10-20 07:47:45 技术文章 8 ℃

# mysql 服务启动失败:显示:“mysql 服务启动后停止,某些服务在未由其他服务或程序使用时将自己停止”,或者 CMD 中显示:“MySQL服务无法启动,服务没有报告任何错误”。解决方法

## 一、问题描述:

### 1、在打开服务列表中,启动 mysql 服务时,显示:“mysql 服务启动后停止,某些服务在未由其他服务或程序使用时将自己停止”。

### 2、在 CMD 窗口,启动 mysql 服务时,显示:“MySQL服务无法启动,服务没有报告任何错误”。

### 3、在 CMD 窗口,尝试登录 mysql 服务时,显示:

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

## 二、解决方法:

### 1、清空 MySQL 的数据目录下的 data 文件夹。

1)data 文件夹默认路径(可根据你自己的实际安装路径):

C:\Program Files\MySQL\MySQL Server 5.7\data

2)建议先备份 data 文件夹,然后清空了 data 文件夹所有内容。

### 2、在 mysql 的安装目录下的 bin 目录下,打开 CMD,执行命令行 mysqld --initialize --console ,记住最后一串字符串(你的mysql的初始登录密码)

```bash

mysqld --initialize --console

```

记住最后一串字符串,这是你的 mysql 的初始登录密码。

### 3、先删除 mysql 服务 sc delete mysql

```bash

sc delete mysql

```

### 4、重新安装 MySQL 服务命令: mysqld --install mysql

```bash

mysqld --install mysql

```

### 5、再次尝试启动 MySQL 服务命令: net start mysql(这次就成功了)

```bash

net start mysql

```

### 6、用重置的初始密码(如:9;7UQ4g-5-%-),登录 mysql

```bash

bin>mysql -u root -p

## 输入刚才重置的初始密码(如:9;7UQ4g-5-%-)

```

### 7、修改 mysql 初始密码为你需要的密码,如:123,修改完重新登录。

```bash

# 修改密码

alter user 'root'@'localhost' identified by '123';

# 退出 mysql

exit

# 用修改后的密码,重新登录 mysql

mysql -u root -p

```

## 8、如果数据库连接错误问题依然存在,即:mysql 服务正常启动,但是 尝试登录 mysql 服务时,显示错误:

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

**解决方法:**

### 8.1 配置 mysql 文件下的 my.ini 文件:

my.ini 默认路径:C:/ProgramData/MySQL/MySQL Server 5.7/Data/my.ini 具体根据你自己的 mysql 路径。

```bash

# Path to the database root 数据存放路径

datadir=C:/ProgramData/MySQL/MySQL Server 5.7/Data/my.ini

```

具体关注以下几项配置:

```bash

[client]

# socket=MYSQL

port=3306

# default-character-set=设置客户端默认字符集

default-character-set=utf8

# Path to installation directory. 安装路径

# basedir="C:/Program Files/MySQL/MySQL Server 5.7/"

# Path to the database root 数据存放路径

datadir=C:/ProgramData/MySQL/MySQL Server 5.7/Data

# The default storage engine that will be used when create new tables when

# 创建新表时默认存储引擎

default-storage-engine=INNODB

# Set the SQL mode to strict

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

# 允许最大连接数

max_connections=151

```

#### 8.2 管理员身份运行 cmd 执行 sc query mysql 和 sc delete mysql

```bash

sc query mysql

# 删除 mysql 服务

sc delete mysql

```

#### 8.3 清空 MySQL 目录下的 data 文件夹。

清空 MySQL 的数据目录下的 data 文件夹。

1)data 文件夹默认路径(可根据你自己的实际安装路径):

C:\Program Files\MySQL\MySQL Server 5.7\data

2)建议先备份 data 文件夹,然后清空了 data 文件夹所有内容。

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

```bash

mysqld --initialize-insecure

```

#### 8.5 运行 mysqld.exe --install mysql --defaults-file=yourmysql\my.ini

```bash

mysqld.exe --install mysql --defaults-file=C:\ProgramData\MySQL\MySQL Server 5.7\my.ini

```

#### 8.6 启动 mysql 服务,登录 mysql 成功登录。

```bash

# 启动 mysql 服务,

net start mysql

# 登录 mysql

mysql -u root -p

```

最近发表
标签列表