无名 发表于 2022-5-8 15:17:58

【WD团队】【宝塔面板】MySQL 报 1045 错误解决方法

MySQL在使用root密码登陆报1045
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
错误可能原因:
1、有空用户的现象,MySQL官方的BUG,优先匹配到空用户
2、权限错误
一、空用户问题解决方法
先修改下mysql的配置文件,设置免密钥登陆:

skip-grant-tables

然后重新启动mysql,

/etc/init.d/mysqld restart
复制代码

在mysql命令行中执行下面命令:

USEmysql;
Delete FROM user Where User=''and Host='localhost';
FLUSHPRIVILEGES;
复制代码

执行完后将刚才添加的
skip-grant-tables 注释 然后重新启动mysql

现在再用账号密码登陆就可以登陆进去了。

二、MySQLroot权限导致的无法登录

1、同样是修改成免密码登录的方式:

2、重启数据库:

/etc/init.d/mysqld restart
复制代码

3.1、MySQL 5.6版本以及以下的更改root权限:

UPDATEmysql.user set password=password('root 用户密码')WHERE user='root' AND host='localhost';
FLUSHPRIVILEGES;
复制代码

3.2、MySQL5.7版本以及以上的更改root权限:

UPDATE mysql.user setauthentication_string=password('root用户的密码') where user='root' AND host='localhost';
FLUSH PRIVILEGES;
复制代码

4、注销跳过密码登录的配置
然后重启mysql数据库,使用root登录就正常了

说明:root用户使用localhost权限在linux默认中走的是Unix域套接字,在登录时候直接套接字进行通信,无需使用其他通信,127.0.0.1这个是使用的tcp/ip协议进行登录数据库的,所以在使用过程中,如果不在登录命令中加上 -h,默认是unix套接字。这也是   有些情况下使用远程登录工具可以正常登录,但是使用面板上的备份、计划任务中备份数据库使用mysql -uroot -proot密码登录时候报1045 的原因
————————
感谢你能看到这[滑稽][玫瑰]
点个关注不迷路
(本贴为搬砖,如有侵权请联系)
————————
【其他技术】
#【WD团队】【宝塔面板】阿里云OSS打开一直获取列表解决办法#
#【WD团队】【宝塔面板】宝塔在线转换Apache伪静态规则到Ng#
#【WD团队】【宝塔面板】堡塔代理服务器软件使用教程#
http://cdn.u1.huluxia.com/g4/M02/2C/33/rBAAdmG9tWOAF0ZWAACM8CjkLhE815.jpghttp://cdn.u1.huluxia.com/g4/M02/2C/33/rBAAdmG9tWSAfoouAAFc_ZF0hrs728.pnghttp://cdn.u1.huluxia.com/g4/M02/2C/33/rBAAdmG9tWSATyp6AAB95sBDneQ032.png
页: [1]
查看完整版本: 【WD团队】【宝塔面板】MySQL 报 1045 错误解决方法