无法从外部访问 vagrant MySQL 数据库(仅当 vagrant ssh 进入框 w/Scotchbox 时)

Cannot access vagrant MySQL database from outside (only when vagrant ssh'd into the box w/Scotchbox)

我正在 运行ning Vagrant & Virtual Box - 我在我的 Vagrantfile 中有一个 PHP/MySQL 设置,当我通过终端 vagrant ssh 我可以直接访问我的数据库时没有任何问题使用默认 root 用户(密码为 'root')

我的 Vagrant IP 是 192.168.33.1,我已将其添加到我的主机文件以映射到 dev.myworkspace.com

当我运行下面的命令访问mysql -h dev.myworkspace.com -u root -p&输入正确的密码(root)时returns出现如下错误:

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

我尝试将 bind-address = 0.0.0.0 添加到 vagrant box 中的 my.cnf 文件,但是当我重新启动时 mysql 它挂起。

谁能解释我做错了什么?我只想连接到我的 vagrant MySQL 数据库,尽管是从外部 vagrant ssh (所以需要允许外部连接)

注意 - root 用户设置如下: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'

我看root用户的权限只设置为localhost

试试这个查询。如果第二个没有给出结果,请尝试 update 和 **flush*

SHOW GRANTS FOR  'root'@'localhost';
SHOW GRANTS FOR  'root'@'%';

UPDATE mysql.user
SET Host='%' WHERE Host='localhost' AND User='root';

FLUSH PRIVILEGES;