net start mysql MySQL 服务正在启动 . MySQL 服务无法启动。 服务没有报告任何错误。

在启动项目时,发现昨天能够跑的项目今天跑不了了。一看原来是mysql数据库出现了问题,远程数据库连不上了。那这可咋整啊?用管理员模式启动dos,输入net start mysql:

出现问题:MySQL 服务正在启动 . MySQL 服务无法启动。 服务没有报告任何错误。

这又是咋回事啊?

mysql是否安装

首先检查mysql的版本:

mysql -V

 没有问题。

检查环境变量

然后检查一下环境变量的配置, 因为昨天仍然能够运行,所以应该不是环境变量配置的问题。

系统变量:

net start mysql MySQL 服务正在启动 . MySQL 服务无法启动。 服务没有报告任何错误。_第1张图片

用户环境变量:

net start mysql MySQL 服务正在启动 . MySQL 服务无法启动。 服务没有报告任何错误。_第2张图片

 果然,环境的配置变量是正常。

到这一步都没检查出来问题,难道这个问题真的解决不了吗?当然不是

检查服务

进入自己的mysql的 bin 文件的安装目录:

我的目录是:

net start mysql MySQL 服务正在启动 . MySQL 服务无法启动。 服务没有报告任何错误。_第3张图片

 在当前bin目录执行:

mysqld --remove       

mysqld --install

mysqld --remove命令将原本已安装的mysql服务卸载掉

mysqld --install命令将服务重新安装

重新启动mysql服务

net start mysql

我到这一步就解决了,mysql服务可以成功启动了。 

登录mysql,又出现新的问题:

 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

这个意思是说登陆的密码错误

那密码我不知道怎么办啊?

当然也有办法啦。我们可以通过强制修改密码来解决

1、用超级管理员打开cmd,关闭服务

net stop mysql

 2、跳过权限验证登录mysql

mysqld --shared-memory --skip-grant-tables

3、 重启mysql服务,登录mysql

net start mysql

mysql -u root -p

4、切换到mysql,将密码置空。 

use mysql;

update user set authentication_string='' where user='root';

flush privileges;

5、设置加密规则并更新新密码(‘’newpassword‘’是你的新密码)

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

grant all privileges on *.* to "root"@'localhost';

flush privileges;

根据更改的新密码 重新登录mysql即可。

至此,这个困扰我好几天问题总算是解决了。

你可能感兴趣的:(数据库,mysql)