資料庫伺服器通常包含關鍵的資料,確保這些資料的安全和完整需要利用訪問控制。
一、訪問控制
mysql伺服器的安全基礎:使用者應該對他們需要的資料具有適當的訪問權,既不能多也不能少。
訪問控制:你需要給使用者提供他們所需的訪問權,且僅提供他們所需的訪問權。
在日常工作中,絕不能使用root,應該建立一系列的賬號,有的用於管理,有的供使用者使用,有的供開發人員使用等等。
防止無意的錯誤:訪問控制的目的不僅僅是防止使用者的惡意企圖。資料夢魘更為常見的事無意識錯誤的結果,如錯打mysql語句,在不適合的資料庫中操作或其他一些使用者錯誤。通過保證使用者不能執行他們不應該執行的語句,訪問控制有助於避免這些情況的發生。
二、管理使用者
mysql使用者賬號和資訊儲存在名為mysql的mysql資料庫中。一般不需要直接訪問mysql資料庫和表,但有時需要直接訪問。需要直接訪問他的時機之一是在需要獲得所有使用者賬號列表時。use mysql;
select user,host from user;
1.建立使用者賬號
create user username identified by 'password';
為使用者賬號重新命名:rename user username to otherusername;
2.刪除使用者賬號
drop user username;
3.設定訪問許可權
在建立使用者賬號後,必須接著分配訪問許可權。新建立的使用者賬號沒有訪問許可權。它們能登入mysql,但不能看到資料,不能執行任何資料庫操作。
檢視賦予使用者賬號的許可權:
show grants for username;
| grants for username@% |
| grant usage on *.* to 'username'@'%' |
為設定許可權,使用grant語句。grant要求你至少給出以下資訊:要授予的許可權;
被授予訪問許可權的資料庫或表;
使用者名稱。
example:
grant select on database.* to username;
分析:此grant允許使用者在database資料庫的所有表(databasename.*)上使用select。使用者username對database資料庫中的所有資料具有唯讀訪問許可權。
grant的反操作為revoke,用它來撤銷特定的許可權。
revoke select on database.* from username;
撤銷使用者username的select訪問許可權。被撤銷的訪問許可權必須存在,否則會出錯。
4.更改口令
set password for user = password('passworded');
password()函式進行加密。
在不指定使用者名稱時,set password更新當前登入使用者的口令。
mysql安全管理 MySQL安全管理
資料庫伺服器通常包含關鍵的資料,確保這些資料的安全和完整需要利用訪問控制。一 訪問控制 mysql伺服器的安全基礎 使用者應該對他們需要的資料具有適當的訪問權,既不能多也不能少。訪問控制 你需要給使用者提供他們所需的訪問權,且僅提供他們所需的訪問權。在日常工作中,絕不能使用root,應該建立一系列的...
mysql安全管理 MySQL 安全管理
1.使用者管理 mysql將帳戶儲存在系統資料庫mysql的user表,mysql使用者名稱最長可達32個字元 檢視所有使用者 select user,host,authentication string from user 檢視當前使用者的許可權 show grants 檢視gg使用者許可權 sh...
mysql登入安全管理 MySQL 安全管理
1.使用者管理 mysql將帳戶儲存在系統資料庫mysql的user表,mysql使用者名稱最長可達32個字元 檢視所有使用者 select user,host,authentication string from user 檢視當前使用者的許可權 show grants 檢視gg使用者許可權 sh...