可能还没有什么是我没有尝试过的。所以这里...
我正在运行基于 Vagrant 的虚拟机,使用 Ubuntu 16.04 LTS。更准确地说,是“ubuntu/xenial64”框。
MySQL(5.7.27 发行版)已正确安装,允许从任何 IP 地址(即已在 /etc/mysql/mysql.conf 中设置的
)。我正在使用的数据库用户的所有权限都已正确设置,MySQL 服务器正在运行,甚至可以从 phpMyAdmin 中访问。在 bind-address = 0.0.0.0
)进行外部连接。 d/mysqld.cnfVagrantfile
中,服务器设置了 IP 地址,并且还设置了端口转发,在主机和 guest 上均设置为 3306:
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.network "forwarded_port", guest: 3306, host: 3306
我想做的是从主机上的 HeidiSQL 访问 MySQL。以下是连接设置
和SSH隧道
选项卡:
SSH用户名和密码都是“vagrant”。
当我尝试打开连接时,我收到的第一个通知对话框来自 PLink:
然后...
一切都应该好起来!我怎么确定?因为我已经在“ubuntu/trusty64”(即 Ubuntu 14.04 LTS 盒子)上尝试了完全相同的方法。
这个问题的根源是什么?
最佳答案
远程root
MySQL 默认情况下禁用访问。尝试运行这些命令来启用它:
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
在您的情况下,用户和密码都应该是 dev。
我还必须运行这个命令:
sed -i "s/bind-address.*/bind-address = 0.0.0.0/" /etc/mysql/my.cnf
其次是
service mysql restart
此外,我不必使用 ssh 隧道。
然后,您可以将它们包含在 vagrant box 的配置中,尤其是在您使用 shell 配置时。
关于mysql - 如何远程连接到在基于 Vagrant 的 Ubuntu 16.04 虚拟服务器上运行的 MySQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42807736/