MySQL用戶權限設置保護數(shù)據(jù)庫安全
更改mysql密碼
-- 查詢用戶權限
show grants for 'root'@'%';
update mysql.user set authentication_string=password('密碼') where user='root' and Host = 'localhost';
flush privileges;
-- 或者下面方式
alter user 'test1'@'localhost' identified by '新密碼';
flush privileges;創(chuàng)建用戶
-- 創(chuàng)建本地的 -- create user 'test1'@'localhost' identified by '密碼'; -- 創(chuàng)建可以遠程訪問的 create user 'wjl'@'%' identified by 'wujialiang';
給用戶所有權限
-- grant all privileges on *.* to 'wjl'@'localhost' with grant option; grant all privileges on *.* to 'wjl'@'%' with grant option;
第一個表示通配數(shù)據(jù)庫,可指定新建用戶只可操作的數(shù)據(jù)庫
如:grant all privileges on 數(shù)據(jù)庫. to ‘test1’@‘localhost’;
第二個*表示通配表,可指定新建用戶只可操作的數(shù)據(jù)庫下的某個表
如:grant all privileges on 數(shù)據(jù)庫.指定表名 to ‘test1’@‘localhost’;
all privileges 可換成select,update,insert,delete,drop,create等操作 如:grant select,insert,update,delete on . to ‘test1’@‘localhost’;
移除用戶所有權限
-- revoke all privileges on *.* from 'wjl'@'localhost'; revoke all privileges on *.* from 'wjl'@'%';
添加部分權限
-- GRANT Select,Update,insert,delete ON *.* TO '用戶名'@"%"; GRANT select,update,insert,delete ON *.* TO 'wjl'@"%";
移除部分權限
-- REVOKE select,insert ON 數(shù)據(jù)庫.* FROM wjl@'localhost' REVOKE select,insert ON 數(shù)據(jù)庫.* FROM wjl@'%'
刪除用戶
drop user 'wjl'@'localhost';
權限解釋
| 參數(shù) | 解釋 |
|---|---|
| ?All/All Privileges | 代表全局或者全數(shù)據(jù)庫對象級別的所有權限?? |
| Alter | 代表允許修改表結構的權限,但必須要求有create和insert權限配合。如果是rename表名,則要求有alter和drop原表, create和insert新表的權限 |
| Alter routine | 代表允許修改或者刪除存儲過程、函數(shù)的權限 |
| Create | 代表允許創(chuàng)建新的數(shù)據(jù)庫和表的權限 |
| Create routine | 代表允許創(chuàng)建存儲過程、函數(shù)的權限 |
| Create tablespace | 代表允許創(chuàng)建、修改、刪除表空間和日志組的權限 |
| Create temporary tables | 代表允許創(chuàng)建臨時表的權限 |
| Create user | 代表允許創(chuàng)建、修改、刪除、重命名user的權限 |
| Create view | 代表允許創(chuàng)建視圖的權限 |
| Delete | 代表允許刪除行數(shù)據(jù)的權限 |
| Drop | 代表允許刪除數(shù)據(jù)庫、表、視圖的權限,包括truncate table命令 |
| Event | 代表允許查詢,創(chuàng)建,修改,刪除MySQL事件 |
| Execute | 代表允許執(zhí)行存儲過程和函數(shù)的權限 |
| File | 代表允許在MySQL可以訪問的目錄進行讀寫磁盤文件操作,可使用的命令包括load data infile,select … into outfile,load file()函數(shù) |
| Grant option | 權限代表是否允許此用戶授權或者收回給其他用戶你給予的權限,重新付給管理員的時候需要加上這個權限 |
| Index | 代表是否允許創(chuàng)建和刪除索引 |
| Insert | 代表是否允許在表里插入數(shù)據(jù),同時在執(zhí)行analyze table,optimize table,repair table語句的時候也需要insert權限 |
| Lock | 代表允許對擁有select權限的表進行鎖定,以防止其他鏈接對此表的讀或寫 |
| Process | 代表允許查看MySQL中的進程信息,比如執(zhí)行show processlist, mysqladmin processlist, show engine等命令 |
| Reference | 是在5.7.6版本之后引入,代表是否允許創(chuàng)建外鍵 |
| Reload | 代表允許執(zhí)行flush命令,指明重新加載權限表到系統(tǒng)內存中,refresh命令代表關閉和重新開啟日志文件并刷新所有的表 |
| Replication client | 代表允許執(zhí)行show master status,show slave status,show binary logs命令 |
| Replication slave | 代表允許slave主機通過此用戶連接master以便建立主從復制關系 |
| Select | 代表允許從表中查看數(shù)據(jù),某些不查詢表數(shù)據(jù)的select執(zhí)行則不需要此權限,如Select 1+1, Select PI()+2;而且select權限在執(zhí)行update/delete語句中含有where條件的情況下也是需要的 |
| Show databases | 代表通過執(zhí)行show databases命令查看所有的數(shù)據(jù)庫名 |
| Show view | 代表通過執(zhí)行show create view命令查看視圖創(chuàng)建的語句 |
| Shutdown | 代表允許關閉數(shù)據(jù)庫實例,執(zhí)行語句包括mysql admin shutdown |
| Super | 代表允許執(zhí)行一系列數(shù)據(jù)庫管理命令,包括kill強制關閉某個連接命令, change master to創(chuàng)建復制關系命令,以及create/alter/drop server等命令 |
| Trigger | 代表允許創(chuàng)建,刪除,執(zhí)行,顯示觸發(fā)器的權限 |
| Update | 代表允許修改表中的數(shù)據(jù)的權限 |
| Usage | 是創(chuàng)建一個用戶之后的默認權限,其本身代表連接登錄權限 |
案例
普通用戶權限
grant all privileges on *.* to 'wjl'@'%' with grant option; REVOKE Shutdown,Process,Grant option,Drop ON *.* FROM wjl@'%'; flush privileges;
到此這篇關于MySQL用戶權限設置保護數(shù)據(jù)庫安全的文章就介紹到這了,更多相關MySQL用戶權限設置內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- MySQL全面安全加固實戰(zhàn)的全流程
- MySQL數(shù)據(jù)庫SSL安全連接方式
- MySQL性能監(jiān)控與安全管理的完整指南
- MySQL 用戶權限與安全管理最佳實踐
- 如何正確、安全地關閉MySQL
- MySQL數(shù)據(jù)庫安全秘籍之守護數(shù)據(jù)金庫防火防盜防攻擊
- 如何優(yōu)雅安全的備份MySQL數(shù)據(jù)
- mysql 安全管理詳情
- 如何優(yōu)雅、安全的關閉MySQL進程
- 保障MySQL數(shù)據(jù)安全的一些建議
- MySQL 5.7 學習心得之安全相關特性
- MySQL安全策略(MySQL安全注意事項)
- 關于加強MYSQL安全的幾點建議
- 詳細講解安全升級MySQL的方法
- 淺析MySQL的注入安全問題
- MySQL數(shù)據(jù)庫安全設置與注意事項小結
- MySQL的安全問題從安裝開始說起
- MySQL安全設置圖文教程
- 10個提高MySQL安全性的重要措施:從賬號管理到網(wǎng)絡防護,再到數(shù)據(jù)備份和版本更新
相關文章
Ubuntu?服務器安裝?MySQL?遠程數(shù)據(jù)庫的方法
本篇介紹如何在 Linux 服務器上安裝 MySQL 數(shù)據(jù)庫,并設置為可遠程連接,本文通過命令給大家介紹的非常詳細,對Ubuntu?安裝?MySQL遠程數(shù)據(jù)庫感興趣的朋友一起看看吧2022-08-08
淺析drop user與delete from mysql.user的區(qū)別
本篇文章是對drop user與delete from mysql.user的區(qū)別進行了詳細的分析介紹,需要的朋友參考下2013-06-06

