mysql 列許可權 mysql 許可權相關

2021-10-18 01:41:55 字數 2428 閱讀 8107

mysql許可權

1.資料庫/資料表/資料列許可權:

alter: 修改已存在的資料表(例如增加/刪除列)和索引。

create: 建立新的資料庫或資料表。

delete: 刪除表的記錄。

drop: 刪除資料表或資料庫。

index: 建立或刪除索引。

insert: 增加表的記錄。

select: 顯示/搜尋表的記錄。

update: 修改表中已存在的記錄。

2.全域性管理mysql使用者許可權:

file: 在mysql伺服器上讀寫檔案。

process: 顯示或殺死屬於其它使用者的服務執行緒。

reload: 過載訪問控制表,重新整理日誌等。

shutdown: 關閉mysql服務。

3.特別的許可權:

all: 允許做任何事(和root一樣)。

usage: 只允許登入--其它什麼也不允許做。

mysql中新增使用者,新建資料庫,使用者授權,刪除使用者,修改密碼(注意每行後邊都跟個;表示乙個命令語句結束):

1.新建使用者

1.1 登入mysql:

@>mysql -u root -p

@>密碼

1.2 建立使用者:

mysql> insert into mysql.user(host,user,password) values("localhost","test",password("1234"));

這樣就建立了乙個名為:test 密碼為:1234 的使用者。

注意:此處的"localhost",是指該使用者只能在本地登入,不能在另外一台機器上遠端登入。如果想遠端登入的話,將"localhost"改為"%",表示在任何一台電腦上都可以登入。也可以指定某台機器可以遠端登入。

1.3 然後登入一下:

mysql>exit;

@>mysql -u test -p

@>輸入密碼

mysql>登入成功

2.為使用者授權

授權格式:grant 許可權 on 資料庫.* to 使用者名稱@登入主機 identified by "密碼";

2.1 登入mysql(有root許可權),這裡以root身份登入:

@>mysql -u root -p

@>密碼

2.2 首先為使用者建立乙個資料庫(testdb):

mysql>create database testdb;

2.3 授權test使用者擁有testdb資料庫的所有許可權(某個資料庫的所有許可權):

mysql>grant all privileges on testdb.* to test@localhost identified by '1234';

mysql>flush privileges;//重新整理系統許可權表

格式:grant 許可權 on 資料庫.* to 使用者名稱@登入主機 identified by "密碼";

2.4 如果想指定部分許可權給一使用者,可以這樣來寫:

mysql>grant select,update on testdb.* to test@localhost identified by '1234';

mysql>flush privileges; //重新整理系統許可權表

2.5 授權test使用者擁有所有資料庫的某些許可權:

mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";

//test使用者對所有資料庫都有select,delete,update,create,drop 許可權。

//@"%" 表示對所有非本地主機授權,不包括localhost。(localhost位址設為127.0.0.1,如果設為真實的本地位址,不知道是否可以,沒有驗證。)

//對localhost授權:加上一句grant all privileges on testdb.* to test@localhost identified by '1234';即可。

3. 刪除使用者

@>mysql -u root -p

@>密碼

mysql>delete from user where user='test' and host='localhost';

mysql>flush privileges;

mysql>drop database testdb; //刪除使用者的資料庫

刪除賬戶及許可權:>drop user 使用者名稱@'%';

>drop user 使用者名稱@ localhost;

4. 修改指定使用者密碼

@>mysql -u root -p

@>密碼

mysql>update mysql.user set password=password('新密碼') where user="test" and host="localhost";

mysql>flush privileges;

mysql許可權 列許可權 mysql 的許可權體系介紹

mysql 的許可權體系大致分為5個層級 全域性層級 全域性許可權適用於乙個給定伺服器中的所有資料庫。這些許可權儲存在mysql.user表中。grant all on 和revoke all on 只授予和撤銷全域性許可權。資料庫層級 資料庫許可權適用於乙個給定資料庫中的所有目標。這些許可權儲存在...

mysql 重新整理許可權 mysql許可權

1,檢視所有使用者許可權 select distinct concat user user,host,as query from mysql.user 或者 select from mysql.user 2,檢視某乙個使用者的許可權 show grants for user ip 3,分配許可權 以...

mysql 許可權設定 mysql 許可權設定

關於mysql的使用者管理,筆記 1 建立新使用者 通過root使用者登入之後建立 grant all privileges on to testuser localhost identified by 123456 建立新使用者,使用者名為testuser,密碼為123456 grant all ...