資料庫服務器通常包含關鍵的資料,確保這些資料的安全和完整需要利用訪問控制,
一、訪問控制
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訪問權限,被撤銷的訪問權限必須存在,否則會出錯,
Mysql User表權限欄位說明全介紹
4.更改口令
SET PASSWORD FOR user = Password('passworded');
Password()函式進行加密,
在不指定用戶名時,SET PASSWORD更新當前登錄用戶的口令,
可以借鑒那啥快看的MySql(五):MySQL資料庫安全管理
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/227457.html
標籤:其他
下一篇:制造行業的資料管理
