mysql错误代码1045不能登录的原因与解决方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql错误代码1045不能登录的原因与解决方法相关的知识,希望对你有一定的参考价值。

参考技术A 错误如下:1045 Access denied for user 'root'@'localhost' (using password:YES)

想起来有可是在navicat添加的root@'%'用户,可能密码和现在新版本5.7的加密不同了,导致密码不对.

所以解决方法是更新用户密码.

注意5.7版本密码保存的列是 authentication_string ,密码要用函数password加密.

更新密码的SQL是 update user set authentication_string=password('密码') where user="root";

下面是Windows平台下操作步骤:

配置文件my.ini ,在mysqld下面添加skip-grant-tables,意思是可以直接回车登录,保存退出。重启mySQL,然后运行cmd

输入mysql -u root -p就可以不用密码登录了,出现password:的时候直接回车可以进入。

1.切换到mysql数据库:use mysql;

2.给root用户设置新密码,

mysql> update user set authentication_string=password('密码') where user="root";

3.刷新数据库mysql> flush privileges;

4.再修改my.ini,把刚加入的"skip-grant-tables"这行删除或者添加#注释,保存退出再重启mysql服务就可以了。

一些参考命令
#删除之前配置 drop user 'root' @ '%' ;

#配置远程登录 CREATE USER 'root' @ '%' IDENTIFIED BY password( '你的密码') ;

#授权 GRANT ALL ON *.* TO 'root' @ '%' ;

#更新权限 flush privileges;

#查看用户,主机,加密方法 select user,host,plugin from user;

以上是关于mysql错误代码1045不能登录的原因与解决方法的主要内容,如果未能解决你的问题,请参考以下文章

Windows下MySql错误代码1045的解决方法

mysql登录时,ERROR 1045 (28000): 错误解决办法

mysql错误代码1045 是为啥

sqlyog错误代码1045

mysql 1248错误问题解决

Linux连接MySQL出现1045错误 解决方法