当前位置: 首页 > Linux

linux下使用localhost和127.0.0.1无法连接mysql数据库的问题

时间:2023-04-07 01:34:29 Linux

一、问题描述1、linux下安装mysql后,通过mysqladmin命令设置管理员权限密码;mysqladmin-urootpassword'password'2.通过mysql-uroot-p输入设置的密码,提示'ERROR'1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:YES)'3、把这个报错粘贴到浏览器搜索,然后按照网上的方法操作。试了n种方法,都没有成功4.最后没办法。以为是我的权限配置不对,就把数据库卸载重装了,然后用mysql-h127.0.0.1-uroot-p输入密码连接,还是报同样的错误3,然后用服务器的内网ip连接,最后输入4,然后开始查找原因(1)先查找用户信息,发现localhost的用户不是root(2)更新用户表,设置localhost的用户为rootupdatemysql.usersetuser='root'wherehost='localhost';(3)再次mysql-uroot-p+password,问题依旧在(4)返回查看用户信息表,发现localhost和127.0.1没有对应的密码(5)设置相同的密码对于用户的根地址UPDATEmysql.userSETPassword=PASSWORD('Password')whereUSER='root';(6)刷新权限列表,再次使用mysql-uroot-p+密码连接数据库(7)由于没有给localhost权限,通过mysql-uroot-p登录后,会创建数据库报错没有权限退出数据库,使用内网ip登录,然后支付权限GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'zhq-894612'WITHGRANTOPTION;将*.*上的所有权限授予root@localhost由“zhq-894612”标识并具有授予选项;刷新权限;现在使用mysql-uroot-p登录,没有问题。3.mysqllocalhost和127.0.1的区别,推荐文档https://gohalo。me/post/mysql-localhost-vs-127.0.0.1-introduce.html4.这个问题总结起来没有那么难,但是我对linux和mysql的了解不够扎实,绕了一大圈;如果我一开始就分析用户信息,或许能更快的解决问题。遇到问题是痛苦的,解决问题的过程是痛苦的。分析和解决问题是快乐的!!!