mysql 授權管理

2022-05-06 14:24:16 字數 1709 閱讀 7801

本文從建立乙個資料庫說起:

1,建立乙個資料庫

create  database if not exists you_dbname default charset utf8 callate utf8_general_ci;

2,訪問控制介紹:

mysql 伺服器的安全基礎是:使用者應該對他們需要的資料具有適當的訪問許可權,既不能多也不能少。換句話說,使用者不能對過多的資料具有過多的訪問許可權。

需要考慮的有以下內容:

多數使用者需要對錶進行讀寫,但少數使用者甚至需要建立和刪除表;

默寫使用者需要毒鏢,但可能不需要更新表;

你可能向允許使用者新增資料,但不允許他們刪除資料;

某些使用者(管理員)可能需要處理使用者賬號的許可權,但多數使用者不需要;

你可能像根據使用者的登入地點限制對某些功能的訪問;

mysql 的使用者資訊儲存在mysql的mysql 資料庫中

可以通過   以下2個命令來檢視所有的使用者

use mysql;

select user from user;

建立新使用者:

create user  username identified by 'passwd';(為安全起見,一般不建議直接這樣操作使用者表)[注1]

重新命名乙個使用者賬號

rename user newname to oldname;

刪除使用者賬號

drop user username; //刪除使用者的賬號以及相關的許可權,如果使用mysql5 以前的版本,則不能刪除相關許可權需要先用revoke 刪除賬號相關的許可權,然後執行該條命令即可。

設定訪問許可權

建立使用者賬號之後,必須分配許可權訪問。否則,新使用者無法使用資料庫

a, 檢視使用者的許可權

show grants for username

b,授權三要素

要授予的許可權,被授予許可權的資料庫和表,使用者名稱

用法例項:

grant select on dbname.* to username;

授權所有使用者名為username 的使用者查詢資料庫dbname  下的所有表的許可權。

grant 的反操作為

revoke select on dbname.* from username;

grant 和revoke 可在以下幾個層次上控制訪問許可權:

整個伺服器,使用grant all和revoke all;

整個資料庫,使用on database.*;

特定的表 ,使用 on database.table;

特定的列;

特定的儲存過程;

許可權列表:

使用者授權完成之後並不是立即生效,需要通過執行:

flush privileges;

注1:通常採用使用者建立和授權同時進行,命令如下

grant (許可權列表) on db.table to username@hostname  identifide by 'passwd';

MySQL授權管理

總結安裝mysql後,給資料庫分配使用者和授權。mysql use mysql mysql desc user mysql grant all privileges on to root identified by root 為root新增遠端連線的能力 mysql update user set ...

MySQL管理使用者,授權

管理使用者 create user 使用者名稱 主機名 identified by 密碼 drop user 使用者名稱 主機名 update user set password password 新密碼 where user 使用者名稱 set password for 使用者名稱 主機名 pas...

mysql授權 使用者管理 MySQL使用者管理 授權

建立使用者 命令 create user username host identified by password 說明 username 建立的使用者名稱 host 使用者可以在哪個主機上登入,任意主機選擇 password 使用者的密碼 例 create user arvin identifie...