![](/img/trans.png)
[英]Can't connect to MySQL running on a Linux (ubuntu 16.04) virtual machine on Azure using my local laptop
[英]How to connect to MySQL, running on a Vagrant-based, Ubuntu 16.04 virtual server, remotely?
我可能還沒有嘗試過任何東西。 所以這里...
我正在使用Ubuntu 16.04 LTS運行基於Vagrant的虛擬機。 確切地說,是“ ubuntu / xenial64”框。 MySQL的(27年5月7日分布)是否正確安裝,外部連接來自任何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。 以下是連接Settings
和SSH tunnel
選項卡:
SSH用戶名和密碼均為“ vagrant”。
一旦我嘗試打開連接,我從PLink獲得的第一個通知對話框是:
然后...
一切都應該沒問題! 我怎么確定 因為我已經在“ ubuntu / trusty64”上嘗試了完全相同的配方,即Ubuntu 14.04 LTS盒。
這個問題的根源是什么?
在MySQL中,默認情況下禁用遠程root
訪問。 嘗試運行以下命令以啟用該功能:
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”框的配置中,尤其是在使用Shell配置時。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.