這是換着花樣的折騰本身。mysql
剛開始時在 Windows 上裝個 PHPnow 玩 WordPress 等 PHP 程序就很知足了,後來呢,搞虛擬主機裝 Linux 系統,把折騰轉到虛擬主機上,如今依然是虛擬主機裝 Linux 系統,而後在 Windows 裏「遠程」訪問虛擬主機來折騰 WordPress,偶爾還想着搞個老機器獨立裝 Linux 系統連局域網,真正實現遠程,也不知道這樣折騰的意義何在,多是爲了知足本身僞裝有 VPS 的樣子吧。sql
之前一直用 PhpMyAdmin 管理 Mysql 數據庫,後來折騰虛擬主機後發現遠程用 Navicat 管理數據庫更方便,並且導入導出不會像 PhpMyAdmin 偶爾會出錯,還有一個和 Navicat 相似的程序,圖標是隻小海豚的 SQLyog 也不錯。數據庫
使用 Navicat 的時候遇到過幾回鏈接不上遠程數據庫的問題,每次解決完都沒有把方法記下來,致使重裝虛擬機後又獲得處找方法,因此,想到博客長草,恰好除草一下。spa
- 肯定遠程裝了 Mysql 這是廢話
mysql -u root -p
回車,輸入密碼回車,登陸- 受權遠程用戶登陸
- 對全部
root
用戶受權:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root用戶密碼' WITH GRANT OPTION;
- 對指定 IP 的
root
用戶受權:GRANT ALL PRIVILEGES ON *.* TO root@'指定的IP地址' IDENTIFIED BY 'root用戶密碼' WITH GRANT OPTION;
- 也能夠受權指定的表,這就不搞的那麼麻煩了,反正本地本身用。
- 對全部
- 重載受權表:
FLUSH PRIVILEGES;
exit
退出 Mysql
到這裏基本都沒問題,不過設置好後 Navicat 鏈接數據庫仍是會提示 2003 錯誤:2003——can't connect to mysql server on localhost(10061)
緣由是有一步我總是忘記,總是忘記,總是忘記(容易忘記的事情說 3 遍)。code
打開 /etc/mysql/mysql.cnf
在文件最底部添加:bind-address= 0.0.0.0
;
或者是打開 /etc/mysql/mysql.conf.d/mysqld.cnf
找到文件裏的:bind-address= 127.0.0.1
把它改爲 bind-address= 0.0.0.0
。
由於第一個有優先級,因此我是直接在 /etc/mysql/mysql.cnf
文件裏添加。server
這樣 Navicat 就能夠無礙的「遠程」訪問數據庫了,效果就是文章開頭的那個圖,改起來很直觀方便。get
2016.9.6更新博客
最後一步不知道什麼鬼,之前添加那句沒問題,此次又忽然不行,加了後重啓 mysql 服務報錯,只能經過 /etc/mysql/mysql.conf.d/mysqld.cnf
裏,在 bind-address= 127.0.0.1
這一句前加 #
將它註釋掉,就能夠了。虛擬機