MySQL创建普通用户后无法正常登录解决方案

一般情况下,当我们给mysql添加其他用户时,需要用其他用户进行操作时,可能会出现无法正常登录问题:
当执行

./mysql -u zabbix -p

报错如下:

ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES)

报错原因:经查找,mysql登录用户信息保存的密码是以PASSWORD类型保存,如上使用的是一般的varchar存入导致我们登录后的密码无法匹配而登录失败。所以此时需要修改用户密码
解决方案:
1、利用root身份进行mysql登录

./mysql -u root -p

在这里插入图片描述
2、进入mysql数据库,修改用户密码

use mysql;
update user set password=PASSWORD('xxx') where user='zabbix';
flush privileges;   

在这里插入图片描述
修改完毕后,然后重启mysql。并重新利用该用户登录。

./mysql -u zabbix -p

输入密码后
还是报错:

ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES)

3、这里需要注意了,此时需要注意当前用户是以什么端口起,host为多少,
可通过root用户下去查询
这时切换至root用户下,进入mysql 去查询zabbix用户的-h【host】 和 -P【Port】

select user,password,host from user;

在这里插入图片描述
这里可以查询出你当前用户的host,启动mysql时注意添加-h参数和-P【注意:大写】即可
4、接下来进行该用户的登录

./mysql -u zabbix -pxxx -h xxx.xxx.xxx.xxx -Pxxx

在这里插入图片描述
发现已经使用该普通用户登录成功~

解决~


版权声明:本文为xu710263124原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。