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

错误如下:1045 Access denied for user 'root'@'localhost' (using password:YES)

mysql怎么解决1045错误(mysql1045错误代码)mysql怎么解决1045错误(mysql1045错误代码)


mysql怎么解决1045错误(mysql1045错误代码)


mysql怎么解决1045错误(mysql1045错误代码)


想起来有可是在nicat添加的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 -oot -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安装时出现error nr.1045怎么办?

可能是密码错误,或者用户忘记密码

mysql> CREATE USER 'nonexistant'@'%' IDENTIFIED BY '123456';Query OK, 0 rows affected (0.00 sec)

修复:检查和/或重置密码:您无法从 MySQL 以纯文本格式读取用户密码,因为密码哈希用于身份验证,但您可以将哈希字符串与“PASSWORD”函数进行比较。

我们可以看到 PASSWORD('forgotten')哈希与 authentication_string 列不匹配,这意味着 password string ='forgotten' 不是正确的登录密码。如果您需要覆盖密码,可以执行以下查询:

mysql> set password for 'nonexistant'@'%' = 'hello$!world';Empty set (0.00 sec)

mysql连接数据库1045错误(连接数据库出现1045错误)

重装系统前,mysql对你电脑的IP授权了,重装系统后你的IP可能改变了导致没有权限登录,改回安装前你电脑的IP地址即可。

查看你自己电脑的IP到mysql重新创建账号授权你的电脑IP可以登录mysql。

本地localhost链接成功是只mysql所在的登录权限,跟你实际所在位置登录的不一样,localhost登录的密码为空值,而且mysql又在你本台电脑上,你必须分配密码才能用nicat进行本地登录。

提醒:你以上提问的问题还需要分清楚mysql安装位置和你实际登录的位置或IP地址,才能更好的让别人分析针对你的情况进行解答。