重新设置mysql密码

发布于:2022-12-19 ⋅ 阅读:(368) ⋅ 点赞:(0)

项目场景:

数据库连接报错


问题描述

本来上次重新装mysql弄好了,中秋回来又报错

Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't existFor more information, see Help and Support Center at http://www.mysql.com.

原因分析:

百度翻译出来就是致命错误:无法打开和锁定特权表:表“mysql”。用户“”不存在有关详细信息,请参阅帮助和支持中心http://www.mysql.com.所以这次是不是mysql里面表不全或者文件被干掉了,搜到了这篇老哥的文章https://blog.csdn.net/qq_36439700/article/details/85626267

跟我的报错是一样的,没有这三个文件。


解决方案:

我没有这几个文件的的备份,所以我把data目录给删除了,删除之后在bin目录输入mysqld --initialize,这个是初始化MySQL的一个命令,具体在前面那个文章有。有了之后怎么办这个是有密码的。方法:1.修改mysql的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables这行代码

 2.重启mysql服务(net stop mysql,net start mysql),服务就启动成功了

 3.启动成功后输入mysql -u root -p命令登录,会提示你输入密码直接回车

4.输入SETPASSWORD = PASSWORD('123456')命令修改密码;

5.在前面那个配置文件把加的那行删掉。

7.到此我的数据库就重新连接成功了。

总结

出现这个问题我也很纳闷,过个中秋放坏了,my.ini里的安装路径和数据路径都没改过,有点小离谱,文件不知道怎么就没了。列一下我的解决办法希望对大家有点帮助。


网站公告

今日签到

点亮在社区的每一天
去签到