ERROR 1045 (28000): Access denied for user...错误的解决
刚连上数据库,第二天又连不上了,navicat 报错1045,到网上百度了一番,说是和sqlserver有关系,我就把sqlserver服务都改成手动的了,还是不行。明明是密码都正确,可就是连接不上,后来就去改密码了,具体原因现在都想不明白,我也没找到解释的原因,只是找到了解决办法,当登录MySQL时出现ERROR 1045(2800)提示时(如图一), 就表明你输入的用户名或密码错误被拒绝访问了
刚连上数据库,第二天又连不上了,navicat 报错1045,到网上百度了一番,说是和sqlserver有关系,我就把sqlserver服务都改成手动的了,还是不行。明明是密码都正确,可就是连接不上,后来就去改密码了,具体原因现在都想不明白,我也没找到解释的原因,只是找到了解决办法,当登录MySQL时出现ERROR 1045(2800)提示时(如图一), 就表明你输入的用户名或密码错误被拒绝访问了, 以下就介绍一种不用卸载数据库重装(卸载后数据库中信息会丢失)来解决这个问题的方法:
先设置mysql的环境变量:
https://blog.csdn.net/qq_42036869/article/details/84672060
打开cmd,Windows操作系统为例:错误信息
1.修改MySQL安装目录下的my.ini配置文件,使登录时跳过权限检查.
打开后,搜索mysqld关键字
找到后,在mysqld下面添加skip-grant-tables,保存退出。
PS:若提示不让保存时,可以将该文件剪切到桌面,更改保存后再复制到mySQL目录下
这样,是用于跳过密码问题,但是呢,这并不能彻底解决!
2.停止MySQL服务.输入
net stop mysql
3.启动MySQL服务.输入
net start mysql
在任何路径目录下,都可以关闭/重启mysql的服务呢。(因为,之前,已经配置全局的环境变量了)
4.登录MySQL,此时提示输入密码,直接回车即可进入MySQL.然后通过SQL语句修改root用户的密码.
mysql -u root -p
5. 输入
use mysql;
6.输入
update user set password=password("123456") where user="root";12345是我自己设的,根据自己的改变
出现Query OK, 1 rows affected (0.04 sec)Rows matched: 1 Changed: 1 Warnings: 0
7.刷新数据库
flush privileges;
8.退出
quit
9.改好之后,一定要记得再修改一下my.ini这个文件,把我们刚才加入的"skip-grant-tables"这行删除,保存退出再重启mysql服务就可以了。不改的话数据库跟个公交车似的
输入net stop mysql
net start mysql
mysql -u root -p
输入新的密码,看能否连接成功
参考:https://jingyan.baidu.com/article/3ea51489e6cfbe52e61bba25.html
https://blog.csdn.net/tiankongbubian/article/details/77119751
注意:连接成功之后可能之前的数据库就打不开了,需要新建连接,改一个用户名,可能是因为改了密码的缘故吧,哈哈,我实在是没办法了,学习mysql有种想跑路的赶脚
更多推荐
所有评论(0)