我正在运行 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)时,它返回以下错误:
错误 1045 (28000):用户“root”@“192.168.33.1”的访问被拒绝(使用密码:YES)
我尝试将bind-address = 0.0.0.0
添加到vagrant框中的my.cnf文件中,但是当我重新启动mysql时,它挂起。
谁能解释一下我做错了什么?我只是希望能够连接到我的 vagrant MySQL 数据库,尽管是从外部 vagrant ssh
(因此需要允许外部连接)
注意 - root 用户已设置如下:
将 *.* 上的所有权限授予“root”@'%'
最佳答案
我发现root用户的权限只设置为localhost
尝试用这个来查询。如果第二个没有给出结果,请尝试更新和**刷新*
SHOW GRANTS FOR 'root'@'localhost';
SHOW GRANTS FOR 'root'@'%';
UPDATE mysql.user
SET Host='%' WHERE Host='localhost' AND User='root';
FLUSH PRIVILEGES;
关于mysql - 无法从外部访问 vagrant MySQL 数据库(仅当 vagrant ssh 进入带有 Scotchbox 的盒子时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54827712/