一、问题描述
启动mysql服务时出现该错误:
本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止。
我的mysql版本是8.0.18
系统:win10

01.png
二、解决方法
总体分为2个部分,首先重新注册MySQL服务,然后恢复以前的数据
1、删除原来的mysql服务
进入MySQL安装目录下的bin目录,执行以下命令mysqld --remove 服务名
mysqld --remove MySQL80

02.png
2、删除安装目录下data文件夹(删除前备份,用来恢复数据)

03.png
3、初始化MySQL(会重新生成data文件夹),执行以下命令mysqld --initialize-insecure
mysqld --initialize-insecure

04.png
4、注册MySQL服务,执行以下命令mysqld install MySQL服务名 --defaults-file="my.ini路径"
mysqld install MySQL80 --defaults-file="D:\IDE\mysql-8.0.18-winx64\my.ini"

05.png
5、启动MySQL服务,执行以下命令net start MySQL服务名
net start MySQL80

06.png
恢复以前的数据
1、停止MySQL服务,可通过命令net stop MySQL服务名或者直接在Windows服务列表中停止
net stop MySQL80

07.png
2、复制原来data的数据表文件(名字与原来建立数据库相同)到新的data文件目录下面

08.png
3、复制原data文件下的这六个文件到新的data文件目录下面
- auto.cnf
- ib_buffer_pool
- ib_logfile0
- ib_logfile1
- ibdata1
- mysql.ibd
4、启动MySQL服务

06.png
5、登录MySQL
mysql -u root -p

09.png
5、查看数据库
show databases;

10.png
