centos 登录mysql,解决centos下MySQL登录1045问题

由于需要在centos下部署整个应用,自然少不了对数据库的操作。但很多人可能会遇到一些问题,比如创建用户成功,但是却无法登录。

无法登陆一般就两个原因。第一,远程访问端口没开,第二个原因就是密码错误了(很奇怪,我们登录时的密码明明是正确的,但还是会提示密码错误,我也不知道这是什么原因,有可能是编码之类的吧)

远程访问端口没开这种情况比较好解决,如果用的云服务器,在控制台去配置安全组,打开相应端口就可以了。

这里说一下第二种错误,这个比较坑。

第二种情况往往会报错显示:1045 Access denied for user "root"@"%" (using password:YES)。

87f9730e998b24e8a5161c66c98d8f55.png

我把完整流程大致写一遍。我的操作系统是centos7.4,MySQL版本是5.7。

首先登陆mysql,我的是root用户。登录命令是

mysql -u root -p

输入登录密码后,窗口变化如下图:

5029d130f78ae71e91451b86be95ef04.png

首先看一下现在系统里面有哪些用户,以及用户的具体权限,具体命令:

查看用户:

SELECT DISTINCT CONCAT("User: """,user,"""@""",host,""";") AS query FROM mysql.user;

查看具体用户的权限:

show grants for "root"@"%";

窗口变化如下图:

f1f2250d77110b637aa9d3fe5274a90d.png

接下来我要创建一位用户,让改用户能够远程访问数据库,并对其进行操作。具体命令如下:

create user zhangsanidentified by "zhangsan.CQU.2020.lisi";

grant all privileges on *.* to zhangsan@"%" identified by "zhangsan.CQU.2020.lisi";

或者一条命令直接搞定:

grant all privileges on *.* to "zhangsan"@"%" identified by "zhangsan.CQU.2020.lisi" with grant option;

操作完成后,千万记得刷新,否则可能不生效,命令如

flush privileges;

此时再查看用户,就能发现多了一位用户,也就是我们刚才创建的用户。

17e3a2fb8a5f759f7f68a6d787883ae4.png

输入exit,退出MySQL,然后试着用zhangsan这个账户登录一下。

aeb98536b23b7843f47a4d94f3554127.png

问题顺利出现了,就是登不上去,接下来去解决这个问题咯。

首先,找到自己的MySQL的my.cnf文件,(我的在etc文件夹下面,不同的人可能不一样,用Linux命令按条件查找即可)

打开文件后(vi my.cnf),进入编辑模式(a)找到mysqld关键字,在mysqld下面添加skip-grant-tables,保存退出(先esc,再:wq),如图:

cd13fa744dce8dc99d99972e9f78b7dc.png

将注释去掉即可。

然后重启mysql,命令如下:

service mysqld restart

接下来就是重新登录,然后修改密码啦。

73c027535faa01a946bba14fc56cd58b.png

提示输入密码那里,直接enter,跳过密码验证,登陆成功。接下来进入mysql数据库,然后修改密码,命令如下。

use mysql

修改密码:

update user set authentication_string=password("zhangsan.CQU.2020.lisi") where user="zhangsan";

如图:

d6c68fd4359e64360b1c7db73141a7c1.png

然后退出mysql,将刚刚修改过的my.cnf文件改回来,并重新启动mysql。

e4baab0a1793b547e36881ae3161109e.png

可以看到登录已经成功了,远程连接也能成功,就不演示了,如果远程登录还不成功,检查一下端口设置,是否开启了远程访问。

总结

以上所述是小编给大家介绍的解决centos下MySQL登录1045问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对云海天教程网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值