MySQL權(quán)
限系統(tǒng)
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供輝南網(wǎng)站建設(shè)、輝南做網(wǎng)站、輝南網(wǎng)站設(shè)計、輝南網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、輝南企業(yè)網(wǎng)站模板建站服務(wù),10年輝南做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
設(shè)置 MySQL 用戶口令的方法有多種:
– CREATE USER...IDENTIFIED BY
– GRANT...IDENTIFIED BY
– SET PASSWORD
– mysqladmin password
– UPDATE 授權(quán)表(不推薦)
為所有用戶帳戶分配唯一的強口令。
? 避免可以輕易猜測到的口令。
? 使用以下 SELECT 語句可列出沒有口令的所有帳戶:
SELECT Host, User FROM mysql.user
WHERE Password = '';
? 確定重復(fù)口令:
SELECT User FROM mysql.user GROUP BY password
HAVING count(user)>1;
? 讓口令失效:
ALTER USER jim@localhost PASSWORD EXPIRE;
2) Mysql 支持的權(quán)限
Privilege |
Meaning and Grantable Levels |
ALL [PRIVILEGES] |
Enable use of ALTER TABLE . Levels: Global, database, table. |
ALTER ROUTINE |
Enable stored routine creation. Levels: Global, database. |
CREATE TABLESPACE |
Enable views to be created or altered. Levels: Global, database, table. |
DELETE |
Enable databases, tables, and views to be dropped. Levels: Global, database, table. |
EVENT |
Enable the user to cause the server to read or write files. Level: Global. |
GRANT OPTION |
Enable use of INSERT . Levels: Global, database, table, column. |
LOCK TABLES |
Enable foreign key creation. Levels: Global, database, table, column. |
RELOAD |
Enable the user to ask where master or slave servers are. Level: Global. |
REPLICATION SLAVE |
Enable use of UPDATE . Levels: Global, database, table, column. |
USAGE |
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 語句可創(chuàng)建新帳戶或者修改現(xiàn)有帳戶。
? GRANT 語法:
GRANT SELECT ON world_innodb.* TO
'kari'@'localhost' IDENTIFIED BY 'Abc123';
? 該語句的子句:
– 要授予的權(quán)限
– 權(quán)限級別:
— 全局: *.*
— 數(shù)據(jù)庫: .*
— 表: .
— 存儲例程: .
– 要授予其權(quán)限的帳戶
– 可選口令
5) 權(quán)限級別 / 表內(nèi)容和權(quán)限
user 針對服務(wù)器已知的每個帳戶包含一個記錄
db 特定于數(shù)據(jù)庫的權(quán)限
tables_priv 特定于表的權(quán)限
columns_priv 特定于列的權(quán)限
procs_priv 存儲過程和函數(shù)權(quán)限
6) 撤消帳戶權(quán)限
? 使用 REVOKE 語句可以撤消特定的 SQL 語句權(quán)限:
REVOKE DELETE, INSERT, UPDATE ON world_innodb.*
FROM 'Amon'@'localhost';
? 撤消權(quán)限以便將權(quán)限授予其他用戶:
REVOKE GRANT OPTION ON world_innodb.*
FROM 'Jan'@'localhost';
? 撤消所有權(quán)限(包括向他人授權(quán)):
REVOKE ALL PRIVILEGES, GRANT OPTION
FROM 'Sasha'@'localhost';
? 在發(fā)出 REVOKE 之前使用 SHOW GRANTS 語句確定要
撤消的權(quán)限,隨后再次確認結(jié)果。
7) 禁用客戶機訪問控制
要指示服務(wù)器不讀取授權(quán)表并禁用訪問控制,可使用
--skip-grant-tables 選項。
? 每個連接都成功:
– 可以提供任何用戶名及任何口令,并且可以從任何主機連接。
– 該選項將禁用整個權(quán)限系統(tǒng)。
– 連接的用戶實際上擁有所有權(quán)限。
? 阻止客戶機連接:
– 使用 --skip-networking 選項可阻止網(wǎng)絡(luò)訪問,并且僅允許在本地套接字、命名管道或共享內(nèi)存上訪問。
– 使用 --socket 選項可在非標準套接字上啟動服務(wù)器以防止本地應(yīng)用程序或用戶隨便訪問。
8) 資源限制
通過將全局變量 MAX_USER_CONNECTIONS 設(shè)置為非
零值,限制使用服務(wù)器資源。
– 這將限制任何一個帳戶的同時連接數(shù)量,但不會限制客
戶機在連接后能執(zhí)行的操作。
? 限制單個帳戶的以下服務(wù)器資源:
– MAX_QUERIES_PER_HOUR :一個帳戶每小時可發(fā)出的查詢數(shù)量
– MAX_UPDATES_PER_HOUR :一個帳戶每小時可發(fā)出的更新數(shù)量
– MAX_CONNECTIONS_PER_HOUR :一個帳戶每小時可連接到服務(wù)器的次數(shù)
– MAX_USER_CONNECTIONS :允許的同時連接數(shù)量
文章題目:MySQL權(quán)限系統(tǒng)
網(wǎng)頁地址:http://www.chinadenli.net/article20/jogjco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、微信小程序、全網(wǎng)營銷推廣、微信公眾號、ChatGPT、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)