关于linux:linux下使用localhost和127001连接不上mysql数据库的问题

32次阅读

共计 873 个字符,预计需要花费 3 分钟才能阅读完成。

一、问题形容
1、在 linux 下装置完 mysql 之后,通过 mysqladmin 指令设置了管理员权限明码;

    mysqladmin -u root password '明码'

2、通过 mysql -u root -p 输出设置的明码,死活提醒

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

3、把这条报错贴到浏览器去搜寻,再依据网上的形式去操作,试过 n 种办法,都没胜利
4、最初没方法,认为本人哪里的权限配置错了,把数据库卸了重装,这个问题仍旧在
二、问题解决
1、尝试用客户端去连贯数据库,神奇的发现竟然能够连贯
2、再用 mysql -h 127.0.0.1 -u root - p 输出明码去连贯,还是一样的报错
3、再而后就用服务器的内网 ip 去连贯,终于进去了

4、接下来就开始找起因了

(1)首先查找用户信息,发现 localhost 的 user 不是 root   

(2)更新 user 表设置 localhost 的用户为 root
update mysql.user set user = 'root' where host = 'localhost';(3)再次 mysql -u root -p + 明码,问题还是在

(4)又回去查看用户信息表,发现 localhost 和 127.0.1 没有对应的明码

(5)给用户为 root 的地址都设置同一明码
UPDATE mysql.user SET Password=PASSWORD('明码') where USER='root';

(6)刷新权限列表,再次用 mysql -u root -p + 明码去连贯数据库就能够了


三、mysql 种 localhost 和 127.0.1 的区别,举荐文档

https://gohalo.me/post/mysql-localhost-vs-127.0.0.1-introduce.html

四、总结

这个问题并没有那么难,只是本人 linux 和 mysql 常识不够扎实,才绕了一大圈弯路;如果一开始就去剖析用户信息,或者就能更快解决问题
遇到问题是苦楚的,解决过程是煎熬的,剖析问题并解决是高兴的!!!

正文完
 0