【问题标题】:How to connect to MySQL, running on a Vagrant-based, Ubuntu 16.04 virtual server, remotely?如何远程连接到 MySQL,在基于 Vagrant 的 Ubuntu 16.04 虚拟服务器上运行?
【发布时间】:2017-08-06 01:44:21
【问题描述】:

我可能还没有尝试过任何东西。所以这里...

我正在使用 Ubuntu 16.04 LTS 运行基于 Vagrant 的虚拟机。更准确地说,“ubuntu/xenial64”框。 MySQL(5.7.27 发行版)已正确安装,允许来自任何 IP 地址的外部连接(即 bind-address = 0.0.0.0 已在 /etc/mysql/mysql.conf.d/mysqld.cnf 中设置)。我正在使用的数据库用户的所有权限都已正确设置,MySQL 服务器正在运行,甚至可以从 phpMyAdmin 中访问。在Vagrantfile 中,服务器设置了 IP 地址,并且还设置了端口转发,主机和来宾上的 3306:

  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.network "forwarded_port", guest: 3306, host: 3306

我正在尝试从主机上的 HeidiSQL 访问 MySQL。以下是连接SettingsSSH tunnel 选项卡:

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

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

那么……

一切都应该没问题!我怎么确定?因为我在“ubuntu/trusty64”(即 Ubuntu 14.04 LTS 盒子)上尝试了exact相同的配方。

这个问题的根源是什么?

【问题讨论】:

    标签: mysql ubuntu ssh vagrant heidisql


    【解决方案1】:

    远程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 配置时。

    【讨论】:

      猜你喜欢
      • 2013-06-02
      • 2017-03-20
      • 2021-04-20
      • 1970-01-01
      • 2015-07-18
      • 1970-01-01
      • 1970-01-01
      • 2020-08-08
      • 2012-07-18
      相关资源
      最近更新 更多