MySQL建立使用者與授權

2021-10-22 09:26:53 字數 3750 閱讀 7417

-- user: 使用者名稱

-- host: 允許登入ip(%為萬用字元, 表示所有ip)

-- password: 密碼

create

user

'[user]'

@'[host]' identified by

'[password]'

;-- 例子

create

user

'test'

@'%' identified by

'123456'

;

注意:mysql5.7及以上版本會自動安裝密碼校驗外掛程式,若使用者密碼設定過於簡單會導致無法通過密碼校驗策略,從而丟擲如下異常:

1819 - your password does not satisfy the current policy requirements

當丟擲該異常時可採取如下方法進行處理:

增加密碼複雜程度,如:增加長度,新增大小寫字母以及特殊字元

修改密碼校驗策略規則

-- 設定(全域性)密碼校驗策略

-- low: 只校驗密碼長度

-- medium: 需校驗密碼長度、密碼中數字字元個數、密碼中大小寫字母字元個數、密碼中特殊字元個數

-- strong: 需校驗密碼長度、密碼中數字字元個數、密碼中大小寫字母字元個數、密碼中特殊字元個數, 而且密碼中任意連續4個及以上的字元不得是字典中的單詞

setglobal validate_password_policy=low;

-- 設定(全域性)密碼最小長度限制

setglobal validate_password_length=6;

-- 設定(全域性)密碼數字字元最小個數限制

setglobal validate_password_number_count=1;

-- 設定(全域性)密碼大小寫字母字元最小個數限制

setglobal validate_password_mixed_case_count=1;

-- 設定(全域性)密碼特殊字元最小個數限制

setglobal validate_password_special_char_count=1;

-- 設定(全域性)密碼字典

setglobal validate_password_dictionary_file=password;

-- 查詢密碼校驗策略

show variables like

'validate_password%'

;

-- user: 使用者名稱

-- host: 允許登入ip(%為萬用字元, 表示所有ip)

drop

user

'[user]'

@'[host]'

;-- 例子

drop

user

'test'

@'%'

;

-- permission: 許可權(all表示所有, 常見的許可權如下表)

-- database: 資料庫(資料庫層級許可權,關於表層級和列層級這裡不做說明)

-- user: 使用者名稱

-- host: 允許登入ip(%為萬用字元, 表示所有ip)

grant

[permission]on[

database].

*to'[user]'

@'[host]'

;-- 重新整理

flush privileges

;-- 例子

grant

allon test.*to

'test'

@'%'

;grant

insert

,delete

,update

,select

on test.*to

'test'

@'%'

;flush privileges

;

許可權名稱

許可權層級

許可權說明

create

資料庫、表、索引

建立資料庫、表、索引的許可權

drop

資料庫、表、檢視、索引

刪除資料庫、表、檢視、索引的許可權

alter

表修改表結構許可權

index

表操作索引許可權

insert

表插入資料許可權

delete

表刪除資料許可權

update

表修改資料許可權

select

表查詢資料許可權

create view

檢視建立檢視許可權

show view

檢視檢視檢視許可權

create routine

儲存過程

建立儲存過程許可權

alter routine

儲存過程

修改儲存過程許可權

execute

儲存過程

執行儲存過程許可權

lock tables

伺服器管理

鎖表許可權

create user

伺服器管理

建立使用者許可權

grant option

-許可權賦予許可權

-- permission: 許可權(all表示所有, 常見的許可權如上表)

-- database: 資料庫(資料庫層級許可權,關於表層級和列層級這裡不做說明)

-- user: 使用者名稱

-- host: 允許登入ip(%為萬用字元, 表示所有ip)

revoke

[permission]on[

database].

*from

'[user]'

@'[host]'

;-- 重新整理

flush privileges

;-- 例子

revoke

allon test.

*from

'test'

@'%'

;revoke

insert

,delete

,update

,select

on test.

*from

'test'

@'%'

;flush privileges

;

-- user: 使用者名稱

-- host: 允許登入ip(%為萬用字元, 表示所有ip)

show grants for

'[user]'

@'[host]'

;-- 例子

show grants for

'test'

@'%'

;

-- user: 使用者名稱

-- host: 允許登入ip(%為萬用字元, 表示所有ip)

-- password: 新密碼

set password for

'[user]'

@'[host]'

= password(

'[password]');

-- 例子

set password for

'test'

@'%'

= password(

'111111'

);

MySQL建立使用者與授權

一 建立使用者 命令 create user username host identified by password 說明 username 你將建立的使用者名稱,host 指定該使用者在哪個主機上可以登陸,如果是本地使用者可用localhost,如果想讓該使用者可以從任意遠端主機登陸,可以使用萬...

MySQL建立使用者與授權

1 建立使用者,建立使用者的時候不分配任何許可權 create user 使用者名稱 訪問 identified by 密碼 2 刪除使用者 drop user 使用者名稱 3 分配許可權 grant 許可權 on 資料庫.表 to 使用者名稱 訪問 identified by 密碼 grant s...

MySQL建立使用者與授權

在linux 上的新裝的mysql 需要修改root 密碼 set password for root localhost password root 一,建立使用者 命令 create user username host identified by password 說明 username 你將...