mysql登入安全管理 MySQL 安全管理

2021-10-17 22:20:42 字數 3242 閱讀 1304

1.使用者管理

mysql將帳戶儲存在系統資料庫mysql的user表,mysql使用者名稱最長可達32個字元

檢視所有使用者

select user,host,authentication_string from user;

檢視當前使用者的許可權

show grants;

檢視gg使用者許可權

show grants for gg;

新增使用者,%是萬用字元,代表任何ip

create user 『finley『@『%『 identified by 『password『;

新增許可權

grant all privileges on . to finley@『%『 with grant option;

修改密碼

alter user gg@『%『 identified by 『111111『;

撤銷許可權

revoke all on . from finley@『%『;

刪除使用者

drop user finley;

重新整理許可權

flush privileges;

mysqladmin -u root -p flush-privileges

mysqladmin -u root -p reload

2.角色管理

建立角色:角色名稱與使用者帳戶名稱非常相似,並且由格式的使用者部分和主機部分組成,主機部分可以省略,預設為%

create role 『dev『;

為角色??分配許可權,與為使用者帳戶分配許可權的語法相同

grant all on . to 『dev『;

撤銷角色許可權

revoke all on . from dev;

使用角色分配為使用者分配許可權

create user 『dev1『@『localhost『 identified by 『dev1pass『;

grant 『dev『 to 『dev1『@『localhost『;

撤銷使用者許可權

revoke dev from 『dev1『@『localhost『;

刪除角色

drop role 『dev『;

3.資源限制

設定帳戶資源限制

create user 『francis『@『localhost『 identified by 『frank『

with max_queries_per_hour 20 帳戶每小時可以發出的查詢數

max_updates_per_hour 10 帳戶每小時可以發布的更新次數

max_connections_per_hour 5 帳戶每小時可以連線到伺服器的次數

max_user_connections 2; 帳戶與伺服器同時連線的數量

修改現有帳戶的限制

alter user 『francis『@『localhost『 with max_queries_per_hour 100;

要將所有帳戶的當前計數重置為零

flush user_resources

flush privileges

mysqladmin -u root -p flush-privileges

mysqladmin -u root -p reload

4.密碼管理

手動過期帳戶密碼:還可以連線資料庫,但是沒有許可權,修改密碼後之前的許可權生效

alter user 『gg『@『%『 password expire;

flush privileges;

密碼過期策略

[mysqld]

default_password_lifetime=180

default_password_lifetime=0

或set persist default_password_lifetime = 180; 半年後過期

set persist default_password_lifetime = 0; 永不過期

要求密碼每90天更改一次:

create user 『gg『@『%『 password expire interval 90 day;

alter user 『gg『@『%『 password expire interval 90 day;

禁用密碼到期:

create user 『gg『@『%『 password expire never;

alter user 『gg『@『%『 password expire never;

禁止重複使用365天以前的最後6個密碼

[mysqld]

password_history=6

password_reuse_interval=365

或set persist password_history = 6;

set persist password_reuse_interval = 365;

允許重用之前,至少需要更改5個密碼:

create user 『jeffrey『@『localhost『 password history 5;

alter user 『jeffrey『@『localhost『 password history 5;

在允許重用之前至少需要365天:

create user 『jeffrey『@『localhost『 password reuse interval 365 day;

alter user 『jeffrey『@『localhost『 password reuse interval 365 day;

結合這兩種型別的重用限制:

create user 『jeffrey『@『localhost『

password history 5

password reuse interval 365 day;

alter user 『jeffrey『@『localhost『

password history 5

password reuse interval 365 day;

雙密碼支援,8.0.14版本以後

建立 新的主密碼,將當前密碼保留為輔助密碼

alter user 『gg『@『%『 identified by 『111111『 retain current password;

刪除輔助密碼

alter user 『gg『@『%『 discard old password;

mysql 安全管理

標籤:使用者許可權   新增許可權   修改密碼   資料庫mysql   重新整理   discard   alt   刪除使用者   伺服器

mysql登入安全管理 MySQL安全管理教程

mysql伺服器的安全基礎是 使用者應該對他們需要的資料具有適當 的訪問權,既不能多也不能少。換句話說,使用者不能對過多的資料具有 過多的訪問權。考慮以下內容 1.多數使用者只需要對錶進行讀和寫,但少數使用者甚至需要能建立和 刪除表 2.某些使用者需要讀表,但可能不需要更新表 3.你可能想允許使用者...

mysql登入安全管理 MySQL安全管理

建立使用者帳號 create user ben identified by 123456 建立後,mysql資料庫中的user表就新增了一條記錄,如下所示 重新命名使用者帳號 如果想要改變帳號的名字,可以通過下面的命令來達到效果 使用root許可權來修改 rename user ben to bfo...

mysql安全管理 MySQL安全管理

資料庫伺服器通常包含關鍵的資料,確保這些資料的安全和完整需要利用訪問控制。一 訪問控制 mysql伺服器的安全基礎 使用者應該對他們需要的資料具有適當的訪問權,既不能多也不能少。訪問控制 你需要給使用者提供他們所需的訪問權,且僅提供他們所需的訪問權。在日常工作中,絕不能使用root,應該建立一系列的...