1. 程式人生 > >第一章 python分散式爬蟲打造搜尋引擎環境搭建 第三節Navicat遠端連線虛擬機器裡mysql教程

第一章 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,發現連線已經成功了!如下圖所示:

今天的學習就到這裡吧,由於是週末,所以內容較少,也有助於大家消化吸收!少走彎路!後天將會講解vitualenvvirtualenvwrapper安裝和配置!明天給大家說一下Linux裡的一些快捷鍵開啟軟體的方法,也是比較簡單的東西!週末兩天安排的內容都是簡單的,也祝大家週末愉快!