1、mysql的設定檔在/etc/mysql/my.cnf中,如下圖所示。設定檔中的內容很豐富,我們可以看到mysql的使用者、監聽埠號、資料檔儲存目錄等。
2、透過cat指令,查看my.cnf中的內容。如下圖所示,在my.cnf設定檔中,bind-address預設的IP為127.0.0.1,表示僅限於本機IP進行連線。如果沒有配置mysql,則利用Navicat或其他遠端連接工具是無法連接到該資料庫的。
3、為了讓外邊的其他的IP正常存取到,需要設定bind-address對應的IP為0.0.0.0。使用vi或vim,編輯my.cnf配置文件,配置完成之後,如下圖所示:
4、更改完配置文件my.cnf之後,需要對mysql進行重啟,輸入指令:sudo service mysql restart,如下圖所示:
#輸入進程查看指令,可以看到mysqld進程已經存在,說明mysql啟動成功。
5、接下來,透過Navicat來遠端連接資料庫。透過ifconfig查看IP。可以看到IP位址為192.168.255.131。
相關推薦:《Navicat for mysql使用圖文教學》
6、開啟Navicat,然後點選新連接,如下圖中所示:
7、點選“連接測試”,彈出下圖介面。說明連線測試失敗,原因是我們還尚未給mysql遠端連線授權。 Mysql的權限問題是十分嚴謹的,即便我們已經開放了IP位址,但我們尚未給root使用者授權,因為還是連線失敗。也就是說,我們給root用戶授權之後,日後在IP位址為非127.0.0.1的情況下,也能夠正常存取資料庫。如果沒有設定的話,預設除了本地localhost連線過去的連線可以被接受之外,其他外部的IP連線過去是無效的。儘管它們的IP是在0.0.0.0上綁定的,但是仍然沒有權限。
8、接下來,我們繼續進入Ubuntu中的mysql。
9、輸入遠端授權指令,語法範本如下:grant all privileges on 函式庫名稱.表名to '使用者名稱'@'IP位址' identified by '密碼' with grant option;
這裡,小編依照自己的狀況,在Ubuntu指令列輸入指令: grant all privileges on *.* to 'root'@'% ' identified by '123456' with grant option ;
*.*是正規表示式,代表對所有表進行授權;root代表root使用者;%代表所有的外部IP;123456代表密碼。
如下圖所示:
10、授權之後,輸入指令:「flush privileges;」以刷新權限,如上圖所示。之後便可以退出mysql資料庫了。
11、此時,再去Navicat中再次嘗試連接測試,如下圖所示。此時可以看到測試連線成功。
12、點選確定,之後在Navicat主頁面中可以看到IP位址為192.168.255.131的資料庫已經在Navicat中了。
13、雙擊左側192.168.255.131資料庫,可以看到資料庫資訊。之後就可以在Navicat中遠端操作資料庫了,與Ubuntu中的資料庫是同步的。
以上是navicat怎麼連接ubuntu的msql的詳細內容。更多資訊請關注PHP中文網其他相關文章!