最近在學習WordPress,因而在windows10(如下稱主機)下搭建了ubuntu 16.04的虛擬機(如下稱客機),主機IP:192.168.1.101,客機採用橋接方式鏈接,客機IP:192.168.1.102。mysql
發現主機能ping通客機,客機也能ping通主機,但MySQL的3306端口不通,致使主機下的navicat 沒法訪問到客機中的mysql。linux
ubuntu使用ufw輔助設置防火牆,經過命令sudo ufw from 192.168.1.101 容許主機192.168.1.101訪問客機全部端口,固然單獨經過命令 sudo ufw allow 3306 也是單獨設置3306端口訪問的。 到這裏客機防火牆已向主機開放相關端口。但主機navicat仍然沒法訪問客機mysql。sql
經過命令netstat -ant | grep 3306,查詢客機linux的3306端口是ESTABLISHED(監聽)的,不過監聽僅限於127.0.0.1:3306,說明mysql只監聽了127.0.0.1地址的3306端口。那麼必須修改MySQL的監聽地址才能讓主機訪問到客機的MySQL。ubuntu
怎麼修改MySQL的配置呢?網上的不少版本都在講找/etc/my.cnf,或者/etc/mysql/my.cnf進行配置。ls /etc/my.cnf沒有結果,/etc/mysql/my.cnf卻是有,經過sudo vim /etc/mysql/my.cnf打開一瞧,啥都木有啊vim
去這2個目錄下找找唄,恩,上天垂愛,原來真正的配置文件在/etc/mysql/mysql.conf.d的目錄下,就是mysqld.cnf文件,執行命令sudo vim /etc/mysql/mysql.conf.d/mysqld.cnfwindows
使用#註釋掉bind-address=127.0.0.1,撤銷僅綁定127.0.0.1地址,若是不註釋,修改成0.0.0.0便可全部機器訪問該MySQL服務器。服務器