MySQL 服务正在启动 . MySQL 服务无法启动 服务没有报告任何错误 最全解决方案

方法一

1.找到MySQL的安装目录,将data删除或者移到别的地方 (注意该文件下会有一些你自己建立的数据库的数据!)

如果不删除,后续mysqld --initialize输入则会出现此错误[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

mysql服务启动后停止 某些服务在未由其他服务或程序 用户权限 mysql服务未启动,请先启动_mysql

2.从开始里搜索cmd 右键以管理员身份运行

mysql服务启动后停止 某些服务在未由其他服务或程序 用户权限 mysql服务未启动,请先启动_重启_02

3.然后复制bin文件的路径,并且转入该路径,进入后输入mysqld --initialize(该操作是重新创建data文件,data不能手动创建,该操作对应第一步操作)

mysql服务启动后停止 某些服务在未由其他服务或程序 用户权限 mysql服务未启动,请先启动_重启_03

4.输入net start mysql即可启动成功!

方法二

1.打开cmd 输入netstat -ano 找到本地地址为0.0.0.0:3306的地址

记住其PID的值[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

mysql服务启动后停止 某些服务在未由其他服务或程序 用户权限 mysql服务未启动,请先启动_重启_04

2.打开任务管理器 点击详细信息 找到上一步PID对应的应用
如果不是mysql的应用 将其关闭 重启MySQL服务即可.
如果是mysql应用 如下图 则无法启动与端口无关

方法三

1.打开cmd (仍以管理员身份)依次输入以下命令
mysqld -remove
mysqld -install
mysqld --initialize

2.重启 net start mysql 成功!

方法四

重新配置my.ini配置文件(这是我改了好几次的结果,删除了一些多余的)

我的错误是在 default-storage-engine=INNODB这一句

等号右边值不是这个,改成这个就启动成功了

[client]
 port=3306
 [mysql]
 default-character-set=utf8

 [mysqld]
 port=3306
 # 设置mysql的安装目录
 basedir="D:\mysql-5.7.19-winx64"
 # 设置mysql数据库的数据的存放目录
 datadir="D:\mysql-5.7.19-winx64\data"
 character-set-server=utf8
 default-storage-engine=INNODB
  #支持 INNODB 引擎模式。修改为 default-storage-engine=INNODB 即可。
  #如果 INNODB 模式如果不能启动,删除data目录下ib开头的日志文件重新启动。

 sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
 sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
 max_connections=512

最后,记得把之前移到一边的data文件剪切回来,因为里面有之前设置的账号、密码,否则则会出现能启动mysql,但是输入密码时会报错。