mysql - 如何远程连接到在基于 Vagrant 的 Ubuntu 16.04 虚拟服务器上运行的 MySQL?

标签 mysql ubuntu ssh vagrant heidisql

可能还没有什么是我没有尝试过的。所以这里...

我正在运行基于 Vagrant 的虚拟机,使用 Ubuntu 16.04 LTS。更准确地说,是“ubuntu/xenial64”框。 MySQL(5.7.27 发行版)已正确安装,允许从任何 IP 地址(即已在 /etc/mysql/mysql.conf 中设置的 bind-address = 0.0.0.0)进行外部连接。 d/mysqld.cnf)。我正在使用的数据库用户的所有权限都已正确设置,MySQL 服务器正在运行,甚至可以从 phpMyAdmin 中访问。在 Vagrantfile 中,服务器设置了 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隧道选项卡:

enter image description here

enter image description here

SSH用户名和密码都是“vagrant”。

当我尝试打开连接时,我收到的第一个通知对话框来自 PLink:

enter image description here

然后...

enter image description here

一切都应该好起来!我怎么确定?因为我已经在“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/

相关文章:

SSH 基础知识 - 您是否为您访问的每台服务器使用新 key ?

审查时的 git 和 gerrit 问题

mysql - 临时表不返回 MySQL 存储过程中的结果集

php - 在单词开头搜索文本

php - 在嵌套的 foreach 循环中使用嵌套查询

ubuntu - Python Pygame打印击键垃圾邮件输出

bash - 将历史文件中的哈希标记时间戳转换为所需的字符串

mysql - rails : rake db:create mysql error

Docker 容器在 Ctrl +C 后被杀死

git - 将 repo 从 bitbucket 转移到 github 失败