第一章 python分散式爬蟲打造搜尋引擎環境搭建 第三節Navicat遠端連線虛擬機器裡mysql教程
上一節,我們已經成功安裝了mysql,這一節比較簡單,內容也比較少,在配置中遇到的一些問題我也將在之後的文章中給出解決和解釋,一些很低階的問題,希望大家以後可以避免!
第一步:開啟Navicat,做連線配置,如下圖所示:
這裡有個小插曲,就是在查IP的時候,我使用的命令是ipconfig,然後一直報錯,command not found(命令找不到),後來查了很多資料,什麼path環境變數的配置啊,網路的安裝啊等等都不起效果。後來發現,在命令列上敲ifconfig(注意這裡是ifconfig不是ipconfig,開始時候自己一直搞錯了)就出來資訊了,上圖中有操作記錄,你們可以看一下。
第二步:進行上圖的步驟7,發現連接出錯了,這是因為mysql的一些安全機制導致的,我們不必著急,接下來就來說一些如何配置!錯誤資訊如下圖所示:
第三步:進行mysql的遠端連線配置(授權和防火牆)
1.mysql授權服務
(1).使用 mysql 庫,如下圖所示:
use mysql;
(2).檢視user表,如下圖所示:
select host,user,authentication_string from user;
(3).建立遠端連線的使用者、密碼及許可權範圍 第一個 root為使用者名稱 @後為適用的主機,‘%’表示所有電腦都可以訪問連線/還可以指定某個IP地址。最後的(123456)password代表你的密碼!
-- WITH GRANT OPTION 可以去掉
grant all privileges on *.* to [email protected]'%' identified by "123456" WITH GRANT OPTION;
-- 去掉之後
grant all privileges on *.* to [email protected]'%' identified by "123456";
授權出錯如下圖所示(mysql安全校驗機制問題導致,執行下面步驟4,沒有此錯誤的跳過4步驟):
正確的如下所示:
(4).執行下面的程式碼去除校驗機制(上一章已經說過了)
-- 去除複雜的安全校驗機制
set global validate_password_policy=0;
set global validate_password_length=1;
-- 去除後重新授權
grant all privileges on *.* to [email protected]'%' identified by "123456";
(5).立即生效
flush privileges;
到此為止,授權就完成了,接下來再用Navicat去遠端連結我虛擬機器中的MySQL,連結測試失敗。此時還是報錯,連線不上。莫慌,繼續往下走!
2.防火牆的檢視和清除
(1).在虛擬機器中檢視網路埠資訊:
netstat -ntpl
(2).埠沒問題,接下來去查看了防火牆的狀態,發現3306等埠的資料包都是丟棄狀態
iptables -vnL
(3).清除防火牆中鏈中的規則
iptables -F
這個時候再去進行Navicat遠端連線虛擬機器裡mysql,發現連線已經成功了!如下圖所示:
今天的學習就到這裡吧,由於是週末,所以內容較少,也有助於大家消化吸收!少走彎路!後天將會講解vitualenv和virtualenvwrapper安裝和配置!明天給大家說一下Linux裡的一些快捷鍵開啟軟體的方法,也是比較簡單的東西!週末兩天安排的內容都是簡單的,也祝大家週末愉快!