本節書摘來自華章出版社《mysql dba修煉之道》一書中的第1章,第1.4節,作者:陳曉勇,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。
1.4.1 mysql權限機制
mysql權限控制包含如下兩個階段。
階段1:伺服器檢查是否允許你連接配接。
階段2:假定你能連接配接,伺服器将檢查你發出的每一個請求,檢視你是否有足夠的權限實施它。例如,如果你從資料庫表中選擇(select)行或從資料庫中删除表,那麼伺服器要确定你是否對表有select權限或對資料庫有drop權限。
mysql是通過使用者名、密碼、ip(主機名) 3個要素來驗證使用者的。當你想要通路mysql伺服器時,mysql用戶端程式一般會要求你指定如下參數。
mysql伺服器的ip(主機名),端口
使用者名
密碼
以下是連接配接mysql伺服器的一個示例,你需要以實際的ip、端口、使用者名、密碼代替相應的内容。
<code>shell> mysql -h host_ip_address -u user_name -pyour_password -p server_port</code>
1.4.2 賦予權限和回收權限
一般在生産環境下,程式賬号有增加、删除、查詢、修改這4項功能即可。
如下指令用于賦予查詢、插入、修改、删除權限,并進行密碼設定。
<code>mysql>grant select,insert,update,delete on db_name.* to user_name@ '10.%' identified by 'password';</code>
如下指令用于回收上面所賦予的權限。
<code>mysql>revoke select,insert,update,delete on db_name.* from user_name@ '10.%';</code>