如何解决本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止

启动mysql服务时出现该错误: 
本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止。

因为最近也碰到了这个问题,所以写博客记下

mysql版本:8.0.20(在官网下载的无需安装版,直接解压的)

系统:win10

 

如何解决本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止_第1张图片

 

第一步:(大前提:进入mysql安装目录下的bin目录运行!)删除你的服务(此处mysql对应你的服务名称,我的服务名就是mysql)

mysqld --remove mysql

 

 

第二步:将根目录下的data文件夹删除(如果有需要,请一定要备份,因为这里面有你建的数据库!如果是小白第一次弄mysql则忽略)

 

(注意:如果在你的mysql的安装路径中没有配置文件,则自己手动创建一个,文件名为:my.ini,添加内容如下:

如何解决本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止_第2张图片


[mysqld]
port = 3306
#mysql安装目录
basedir =E:\mysql-8.0.20-winx64\mysql-8.0.20-winx64
#mysql数据存放目录
datadir =E:\mysql-8.0.20-winx64\mysql-8.0.20-winx64\data
#允许最大连接数
max_connections = 1024
#服务端默认使用字符集
character-set-server = utf8mb4
#默认存储引擎
default-storage-engine = INNODB
#服务唯一标识
server_id = 1
#是否启用慢查询
slow_query_log = 1
#指定慢查询日志文件的路径和名字
slow_query_log_file = slow.log
#SQL语句运行时间超过该值才会被记录
long_query_time = 10
#开启binlog日志
log-bin = mysql-bin
#sql模式
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#注意这里,mysql8默认密码验证插件改为了caching_sha2_password
#为了与之前的兼容,这里改回mysql_native_password
default_authentication_plugin = mysql_native_password
 
[mysql]
default-character-set = utf8mb4
 
[client]
port = 3306
default-character-set = utf8mb4

 

第三步:初始化(第一次执行的话,时间会久一些,执行结束后没有输出信息,查看bin的同级目录下会多出一个data文件夹,里面一堆文件)

mysqld --initialize-insecure

 

第四步:注册mysql服务(之前试过mysqld --install mysql --defaults-file=E:\mysql-8.0.20-winx64\mysql-8.0.20-winx64\my.ini  发现不好使,在mysqld后面加个.exe后发现好使了)

mysqld.exe --install mysql --defaults-file=E:\mysql-8.0.20-winx64\mysql-8.0.20-winx64\my.ini

(注:此处的mysql是你将要生成的服务名称,E:\mysql-8.0.20-winx64\mysql-8.0.20-winx64\my.ini要改成你自己的ini文件的位置)

 

第五步:启动服务

net start mysql

 

最后进行数据恢复就可以啦

这是完成后的

如何解决本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止_第3张图片

 

 

可能是因为我的bin目录下有mysqld.exe,所以第四步才有用吧

如何解决本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止_第4张图片

 

 

注:完成后尝试3次开启mysql服务,如果第三次还是同样的问题,那就换别的方法试试吧。

你可能感兴趣的:(如何解决本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止)