標籤:5.7 for 命令 sel host 增加 逗號 set 儲存
一、MySQL使用者管理概述
MySQL是一個多使用者的資料庫,MYSQL的使用者可以分為兩大類:
超級管理使用者(root),擁有全部許可權
普通使用者,由root建立,普通使用者只擁有root所分配的許可權
二、MySQL的許可權資料庫
許可權資料庫:在MySQL中的mysql資料庫。
與許可權相關的資料表:user,db,host,tables_priv,columns_priv,procs_priv等。
2.1、user表
1)user表格儲存體的資訊
使用者的資訊:hots(使用者所在的主機),user(使用者名稱),password(密碼)
使用者的許可權資訊:_priv
安全性相關的資訊:ssl_,x509,記錄使用者登入的驗證操作等
與資源分派相關的資訊:max_,
max_questions:表示使用者在一個小時內最多可以進行的查詢次數。
max_updates:表示使用者在一個小時內最多可以進行的更新次數,也包括增加資料、刪除資料。
max_connections:表示使用者最多可以建立的串連數。
2)查看使用者資訊
select host,user, authentication_string from mysql.user;
三、MySQL資料庫使用者的增刪改3.1、建立使用者
create user [email protected]’%’(所有的主機都能夠登入) identified by ‘passwd‘;
identified by 會將純文字密碼加密作為散列值儲存。
3.2、修改使用者
修改使用者資訊:rename user old_u_name to new_u_name;
mysql 5之後可以使用,之前需要使用update 更新user表.
3.3、刪除使用者
刪除使用者資訊:drop user u_name;
mysql5之前刪除使用者時必須先使用revoke刪除使用者權限,然後刪除使用者,mysql5之後drop命令可以刪除使用者的同時刪除使用者的相關許可權。
3.4、更改使用者密碼
set password for zx_root =password(‘xxxxxx‘);
update mysql.user set authentication_string=password(‘xxxx‘) where user=‘u_name‘;
四、MySQL的許可權管理4.1、使用權限設定相關的命令
1)查看使用者權限資訊
show grants for u_name;
2)授予使用者權限資訊
grant select on db_name.* to u_name;
3)回收使用者權限資訊
revoke select on db_name.* from u_name; //如果許可權不存在會報錯
注意:
1)上面的命令也可使用多個許可權同時賦予和回收,許可權之間使用逗號分隔:
grant select,update,delete,insert on db_name.* to u_name;
立即生效:flush privileges;(5.7可以不用寫,自動更新)
2)設定許可權時必須給出以下資訊:
要授與權限
被授予存取權限的資料庫或表
使用者名稱
4.2、grant和revoke可以在幾個層次上控制存取權限
整個伺服器,使用 grant ALL 和revoke ALL
整個資料庫,使用on database.*
特定表,使用on database.table
4.3、MySQL許可權表
注意:
1)MySQL命令列中的命令:tee file_name,可以將接下來所有敲入的內容以及顯示的內容全部記錄到某一個檔案中。
2)在MySQL終端中,當有換行命令輸錯之後可以使用“\c”結束輸入,然後會顯示剛才輸入的命令在一行,可在修改之後繼續。
MySQL(十六)之MySQL使用者管理