我已经为此工作了 4 天,我知道谷歌上到处都是,但我做了所有需要的事情,但仍然没有连接。
我创建了2个vagrant框,一个用于web服务器,一个用于mysql。
网络:192.168.50.50 mysql:192.168.40.40
我编辑了 /etc/mysql/my.cnf 文件并放置:
bind-address = 192.168.40.40
现在我创建了一个名为“bob”的用户,密码为“12345”,拥有所有权限。
CREATE USER 'bob'@'localhost' IDENTIFIED BY '12345';
GRANT ALL PRIVILEGES ON *.* TO 'bob'@'192.168.50.50';
并清除特权
现在我可以看到数据库中的所有内容都很好:
+--------------+------------------+
| Host | User |
+---------------+------------------+
| % | root |
| 192.168.50.50 | bob |
| 127.0.0.1 | root |
| ::1 | root |
| localhost | debian-sys-maint |
| localhost | root |
| mysql | root |
+---------------+------------------+
但是当我尝试连接网络服务器时:
mysql -ubob -h192.168.40.40 -p12345
我明白了:
ERROR 1045 (28000): Access denied for user 'bob'@'192.168.40.1' (using password: YES)
那个 IP“192.168.40.1”是什么?他是谁?他是怎么出现的?我该如何解决这个问题?
答案1
这是您以 bob 身份从您的机器进行的访问。
ERROR 1045 (28000): Access denied for user 'bob'@'192.168.40.1' (using password: YES)
您创建了一个名为 bob 的本地用户,但您还需要创建一个可以远程用户的 bob 用户(如下所示)并尝试登录。
CREATE USER 'bob'@'192.168.40.1' IDENTIFIED BY '12345';
GRANT ALL PRIVILEGES ON *.* TO 'bob'@'192.168.40.1';
https://stackoverflow.com/questions/16287559/mysql-adding-user-for-remote-access