1. 程式人生 > 資料庫 >使用Navicat管理MySQL使用者

使用Navicat管理MySQL使用者

課程前言

【前面一篇學習了用SSH客戶端遠端連線MySQL伺服器的情況下,如何使用MySQL命令查詢、建立、刪除MySQL普通使用者,以及修改使用者的密碼等操作。對於熟悉MySQL命令的開發者來說,自然不在話下。但對MySQL命令比較陌生的開發者來說,就有點勉為其難了,也是一件非常痛苦的事情。不過,上帝在給我們關閉一扇門的同時,也給我們打開了另一扇門,這扇門就是Navicat,開發者可以用Navicat輕鬆管理MySQL。本篇和同學們探討如何使用Navicat工具管理MySQL普通使用者,包括使用者的建立、查詢、許可權設定以及密碼修改等操作。通過本篇的學習,你將瞭解到Navicat如何遠端連線安裝在CentOS環境下的MySQL伺服器,如何建立使用者並授權,以及如何刪除使用者等使用者管理操作。】

在企業資料庫應用中,大部分企業都採用Linux作業系統作為伺服器作業系統,MySQL也會安裝到Linux系統中,本篇以CentOS 7作業系統為例,與同學們探討Navicat遠端管理MySQL使用者的相關內容。

本篇分為四個小節,第一小節與同學們探討Navicat在Windows環境下如何遠端連線MySQL伺服器;第二小節介紹一下Navicat提供了哪些功能,用於管理MySQL使用者;第三小節與同學們探討如何建立新使用者,並分配資料庫的操作許可權;第四小節介紹MySQL使用者的密碼修改、編輯及刪除操作。

 

第1小節 遠端連線MySQL伺服器

Navicat遠端連線安裝在CentOS系統的MySQL伺服器,需要使用SSH協議進行連線。在Navicat的連線對話方塊中,選擇SSH標籤。在SSH標籤屬性頁中,使用SSH通道,輸入項分別說明如下:

①主機名或IP地址

CentOS系統的主機名稱或IP地址,本課程使用的CentOS系統主機IP地址為192.168.0.112,因此輸入192.168.0.112。

②埠

SSH協議的埠號是22,類似HTTP協議的埠號是80一樣,埠口採用預設值22即可。

③使用者名稱

登入CentOS系統的使用者名稱,本課程使用CentOS的root使用者登入CentOS系統,此處輸入root。

④驗證方法

驗證方法有兩種選項,一種是密碼驗證,一種是公鑰驗證。金鑰驗證是用SSH金鑰工具在本地建立公鑰私鑰對,將公鑰複製到需要遠端連線的CentOS系統中,將私鑰儲存到一目錄下。連線時選擇公鑰驗證,然後在私鑰選擇儲存的私鑰檔案即可。這裡選用密碼驗證。

⑤密碼

驗證方法選擇密碼驗證時,此處輸入使用者登入CentOS系統的登入密碼。

輸入各項值如下圖所示:

 

圖 4-11 Navicat連線對話方塊SSH屬性頁

SSH屬性頁填寫完成後,選擇常規標籤,進入常規屬性頁,常規屬性頁的輸入項分別說明如下:

①連線名

連線MySQL伺服器的名稱,此處可以隨意填寫。

②主機名或IP地址

安裝MySQL伺服器的主機名或IP地址,此處的地址應和SSH的地址相同,也輸入192.169.0.112。

③埠

此埠為MySQL伺服器監聽埠,MySQL伺服器的預設監聽埠為3306,此處採用預設埠即可。

④使用者名稱

此處為連線MySQL伺服器的使用者名稱,一般為root使用者。

⑤密碼

root使用者登入MySQL的密碼。

輸入各項值如下圖所示:

 

圖 4-12 Navicat連線對話方塊常規屬性頁

連線屬性填寫完成後,單擊連線測試按鈕,測試連線是否成功。若連線成功,則彈出對話方塊提示連線成功。若連線失敗,則可能是屬性值填寫錯誤、網路問題、或遠端主機等問題,需要一一排除。

 

第2小節 Navicat提供的MySQL使用者管理功能

Navicat為我們提供了編輯和建立MySQL使用者、刪除MySQL使用者、使用者許可權管理功能。

使用root賬號登入MySQL伺服器後,可以建立新的使用者並給新使用者分配許可權。從資料庫安全性考慮,針對不同的使用者應分配不同的資料庫操作許可權。例如,對僅提供查詢的使用者來說可以只分配Select許可權,Select許可權允許使用者查詢資料庫。而不應該分配Insert和Update許可權,Insert和Update許可權都允許使用者修改資料庫。

使用Navicat也可以重新編輯使用者的許可權及屬性,包括使用者的登入名、密碼、每小時連線數、每小時查詢次數等相關使用者屬性。

當用戶廢棄不用時,可以使用Navicat提供的刪除功能刪除使用者。

 

第3小節 Navicat建立MySQL使用者

從資料庫安全性上考慮,應該為使用系統的不同使用者提供不同的資料庫訪問許可權。例如,在程式設計微課專案中,學生只能查詢和使用課程,但不能修改課程內容。而老師的許可權就要大一些,即可以查詢課程,也可以修改課程。因此,需要建立學生使用者和老師使用者,並分配不同的資料庫訪問許可權。下面給出建立使用者的步驟。

連線資料庫成功後,單擊工具欄中的“使用者”圖示,進入使用者管理視窗,在使用者管理視窗選擇“新建使用者”命令,彈出新建使用者對話方塊,該對話方塊有“常規”、“高階”、“伺服器許可權”、“許可權”、“SQL預覽”屬性頁,各屬性頁分別說明如下:

①常規屬性頁

該屬性頁主要用來填寫需要建立的使用者名稱、主機地址、新建使用者的密碼和確認密碼。

主機地址可以填寫“localhost”或“%”。如果填寫“localhost”,則建立的使用者只能在本地訪問資料庫;如果填寫“%”,則建立的使用者即可以在本地,也可以遠端訪問資料庫。

所填內容如下圖所示。

 

圖 4-13 Navicat建立新使用者常規屬性頁

②高階屬性頁

該屬性頁主要用來填寫對資料庫的訪問限制。主要有“每小時最多查詢數”、“每小時最多更新數”、“最大連線數”等。這些內容可以根據實際需要進行設定,也可以不填。

③伺服器許可權

該屬性頁主要用來設定新建使用者對MySQL伺服器的訪問許可權,例如在MySQL伺服器中查詢資料(Select)、插入資料(Insert)、更新資料(Update)、建立資料庫(Create)、刪除資料庫(Drop)等許可權。一般來說,如果建立的是普通使用者的話,只選擇查詢資料、插入資料、更新資料即可。本案例用於建立學生使用者,因此僅選擇查詢許可權(Select)。

所選許可權如下圖所示。

 

圖 4-14 Navicat建立新使用者伺服器許可權

④許可權

該屬性頁用來設定對某一資料庫的訪問許可權,前面的“伺服器許可權”設定是針對該伺服器下所有資料庫的訪問許可權。如果不希望該使用者能訪問所有的資料庫,而只訪問指定的資料庫,則需要在該屬性頁中設定具體的資料庫訪問許可權。單擊工具欄中的“新增許可權”命令,可以新增一條許可權記錄。本案例建立的學生使用者被限制只能查詢“progm”資料庫,因此需要新增針對“progm”資料庫的許可權記錄。

所選許可權如下圖所示。

 

圖 4-15 Navicat建立新使用者許可權屬性頁

⑤SQL預覽

在SQL預覽屬性頁中可以檢視根據前面設定生成的MySQL命令。如下圖所示。

 

圖 4-16 Navicat建立新使用者SQL預覽屬性

使用者資訊填寫完成和使用者許可權設定完畢後,就可以單擊工具條中“儲存”按鈕,Navicat根據設定內容建立一個新的使用者。如下圖所示。

 

圖 4-17 使用者列表

從上圖可以看到,在使用者列表中,有新建立的名稱為“student”的使用者。

 

第4小節 Navicat修改使用者密碼和刪除使用者

如果需要修改已有使用者的密碼,可以在使用者列表中選中該使用者,並單擊工具條中的“編輯使用者”按鈕修改使用者的密碼。同樣也可以修改使用者的許可權。

刪除使用者操作就非常簡單了,在使用者列表中選中需要刪除的使用者,並單擊工具條中的“刪除使用者”按鈕,Navicat會彈出對話方塊提示是否刪除該使用者,確認無誤並單擊“刪除”按鈕,Navicat會刪除該使用者。

 

■ 課程小結

1、Navicat作為MySQL伺服器的客戶端管理工具,需要先連線到MySQL伺服器後,才能對MySQL伺服器進行管理操作。在進行遠端連線時,需要根據MySQL伺服器所在的作業系統,選擇不同的連線選項。當MySQL安裝在CentOS系統時,需要選擇SSH協議連線,若MySQL安裝在Windows系統上,則直接連線即可。

2、用Navicat建立使用者非常方便,不過有幾點需要注意。一是在填寫主機地址時,需要弄清楚“localhost”和“%”所表示的含義,“localhost”表示本地連線,“%”表示本地和遠端連線都可以;二是弄清楚“伺服器許可權”和“許可權”的區別,“伺服器許可權”是指對伺服器的操作許可權,包括伺服器下的所有資料庫的訪問許可權,“許可權”是針對某一具體資料庫的許可權設定,例如可以設定student使用者只能查詢progm資料庫。

■ 思考與練習

1、在一個專案中,使用MySQL資料庫,版本為5.7,作業系統為CentOS 7。採用Navicat遠端管理MySQL伺服器,請給出Navicat遠端連線MySQL伺服器的步驟。

2、使用Navicat建立MySQL資料庫使用者時,假設要建立的使用者只能查詢某一指定的資料庫,該如何給新建使用者授權?