一段时间(数周)后无法使用 MySQL 5.5.41-0ubuntu0.14.04.1-log,现在当我尝试连接时我得到:
$ mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'DD.D.DDD.DDD' (using password: YES)
(D是我外网IP的数字)
我用没问题
$ mysql -u root -p -h localhost
为什么它现在使用我的外部 IP?我在/etc/mysql下没有改动
最佳答案
由于您在第一次尝试时没有指定 -h host
,所以它猜测它处于真空状态。它向下移动 mysql.user 并找到通配符的第一个匹配项。并且您输入的密码不匹配。
运行 select * from mysql.user
可能会对此有所启发。您可能会找到以下条目:
Host User
172.31.2.202 root
localhost root
% root
127.0.0.1 root
编辑:
有时你需要做一个:
CREATE USER 'root'@'www.xxx.yyy.zzz' IDENTIFIED BY 'new_password';
后跟该用户的必要授权。上面我说的是 root,这只是一个例子。我不会做根!
另外,-u后面不要加空格,所以不是-u root,是-uroot
关于MySQL客户端突然连接外网IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31455362/