MySQL許可權系統
MySQL權
限系統
設定 MySQL 使用者口令的方法有多種:
– CREATE USER...IDENTIFIED BY
– GRANT...IDENTIFIED BY
– SET PASSWORD
– mysqladmin password
– UPDATE 授權表(不推薦)
為所有使用者帳戶分配唯一的強口令。
? 避免可以輕易猜測到的口令。
? 使用以下 SELECT 語句可列出沒有口令的所有帳戶:
SELECT Host, User FROM mysql.user
WHERE Password = '';
? 確定重複口令:
SELECT User FROM mysql.user GROUP BY password
HAVING count(user)>1;
? 讓口令失效:
ALTER USER jim@localhost PASSWORD EXPIRE;
2) Mysql 支援的許可權
Privilege |
Meaning and Grantable Levels |
Enable use of . Levels: Global, database, table. |
|
Enable stored routine creation. Levels: Global, database. |
|
Enable views to be created or altered. Levels: Global, database, table. |
|
Enable databases, tables, and views to be dropped. Levels: Global, database, table. |
|
Enable the user to cause the server to read or write files. Level: Global. |
|
Enable use of . Levels: Global, database, table, column. |
|
Enable foreign key creation. Levels: Global, database, table, column. |
|
Enable the user to ask where master or slave servers are. Level: Global. |
|
Enable use of . Levels: Global, database, table, column. |
|
|
3) 允許的主機名格式示例
? 主機名: localhost
? 合格的主機名: 'hostname.example.com'
? IP 編號: 192.168.9.78
? IP 地址: 10.0.0.0/255.255.255.0
? 模式或萬用字元: % 或 _
使用者名稱和主機名示例:
? john@10.20.30.40
? john@'10.20.30.%'
? john@'%.ourdomain.com'
? john@'10.20.30.0/255.255.255.0'
4) GRANT 語句
? GRANT 語句可建立新帳戶或者修改現有帳戶。
? GRANT 語法:
GRANT SELECT ON world_innodb.* TO
'kari'@'localhost' IDENTIFIED BY 'Abc123';
? 該語句的子句:
– 要授予的許可權
– 許可權級別:
— 全域性: *.*
— 資料庫: .*
— 表: .
— 儲存例程: .
– 要授予其許可權的帳戶
– 可選口令
5) 許可權級別 / 表內容和許可權
user 針對伺服器已知的每個帳戶包含一個記錄
db 特定於資料庫的許可權
tables_priv 特定於表的許可權
columns_priv 特定於列的許可權
procs_priv 儲存過程和函式許可權
6) 撤消帳戶許可權
? 使用 REVOKE 語句可以撤消特定的 SQL 語句許可權:
REVOKE DELETE, INSERT, UPDATE ON world_innodb.*
FROM 'Amon'@'localhost';
? 撤消許可權以便將許可權授予其他使用者:
REVOKE GRANT OPTION ON world_innodb.*
FROM 'Jan'@'localhost';
? 撤消所有許可權(包括向他人授權):
REVOKE ALL PRIVILEGES, GRANT OPTION
FROM 'Sasha'@'localhost';
? 在發出 REVOKE 之前使用 SHOW GRANTS 語句確定要
撤消的許可權,隨後再次確認結果。
7) 禁用客戶機訪問控制
要指示伺服器不讀取授權表並禁用訪問控制,可使用
--skip-grant-tables 選項。
? 每個連線都成功:
– 可以提供任何使用者名稱及任何口令,並且可以從任何主機連線。
– 該選項將禁用整個許可權系統。
– 連線的使用者實際上擁有所有許可權。
? 阻止客戶機連線:
– 使用 --skip-networking 選項可阻止網路訪問,並且僅允許在本地套接字、命名管道或共享記憶體上訪問。
– 使用 --socket 選項可在非標準套接字上啟動伺服器以防止本地應用程式或使用者隨便訪問。
8) 資源限制
透過將全域性變數 MAX_USER_CONNECTIONS 設定為非
零值,限制使用伺服器資源。
– 這將限制任何一個帳戶的同時連線數量,但不會限制客
戶機在連線後能執行的操作。
? 限制單個帳戶的以下伺服器資源:
– MAX_QUERIES_PER_HOUR :一個帳戶每小時可發出的查詢數量
– MAX_UPDATES_PER_HOUR :一個帳戶每小時可發出的更新數量
– MAX_CONNECTIONS_PER_HOUR :一個帳戶每小時可連線到伺服器的次數
– MAX_USER_CONNECTIONS :允許的同時連線數量
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16976507/viewspace-2130430/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL許可權系統簡介MySql
- Mysql存取許可權系統(轉)MySql
- Oracle的物件許可權、角色許可權、系統許可權Oracle物件
- Android系統許可權和root許可權Android
- 許可權系統:一文搞懂功能許可權、資料許可權
- Oracle系統許可權Oracle
- Oracle 使用者、物件許可權、系統許可權Oracle物件
- 一文讀懂mysql許可權系統MySql
- mysql許可權MySql
- MySQL 許可權MySql
- 許可權系統:許可權應用服務設計
- MySQL許可權體系--PPT分享~MySql
- mongodb 的許可權系統MongoDB
- 【JavaWeb】許可權管理系統JavaWeb
- 有贊許可權系統
- Android系統許可權Android
- 許可權系統設計
- 許可權系統跟進
- 【MySql】mysql的許可權體系介紹MySql
- 【MySql】mysql 的許可權體系介紹MySql
- 許可權系統:6個許可權概念模型設計模型
- 許可權系統:許可權應用服務設計Tu
- Mysql——許可權管理MySql
- Mysql 許可權管理MySql
- MySQL許可權管理MySql
- 訪問許可權控制系統|全方位認識 mysql 系統庫訪問許可權MySql
- 【Mysql】flushprivilges重新整理系統許可權相關表MySql
- 許可權維持專題:作業系統許可權維持作業系統
- 企業許可權管理系統
- Winner許可權管理系統3.0
- 通用許可權系統介紹
- 許可權系統概要(收集,整理)
- MySQL資料庫許可權體系入門(4)---管理全域性許可權MySql資料庫
- 適配懸浮窗許可權與系統設定修改許可權
- 系統許可權傳遞和物件許可權傳遞的測試物件
- 檢視角色裡包含的系統許可權、物件許可權和角色物件
- mysql許可權參考MySql
- MySQL許可權問題MySql