Mysql5.7新增用戶並授權,Mysql生產環境用戶權限管理


 

================================

©Copyright 蕃薯耀 2021-12-31

https://www.cnblogs.com/fanshuyao/

 

一、root用戶授權


root用戶授權,用於指定IP用戶登錄root用戶,方便管理


1、創建指定IP(如:192.168.1.100)遠程登錄的root用戶,並設置密碼

CREATE USER 'root'@'192.168.1.100' IDENTIFIED BY '密碼';

 

2、root用戶指定IP授權,授予所有權限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' WITH GRANT OPTION;

 

WITH GRANT OPTION:表示該用戶可以將自己擁有的權限授權給別人

授權命令:

GRANT privileges ON databasename.tablename TO 'username'@'host';
 
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

 

3、刷新權限

FLUSH PRIVILEGES;

 

 

二、創建appUser應用程序用戶,並授權


1、創建appUser,並允許本地登錄

CREATE USER 'appUser'@'localhost' IDENTIFIED BY '密碼';

 

2、創建appUser,允許應用程序服務器登錄

CREATE USER 'appUser'@'192.168.2.200' IDENTIFIED BY '密碼';

 

3、創建appUser,允許指定IP用戶(192.168.1.100)登錄

CREATE USER 'appUser'@'192.168.1.100' IDENTIFIED BY '密碼';

 

4、appUser授權

(正式環境沒有drop權限),報錯時:記得先創建數據庫和表

GRANT ALTER,CREATE,SELECT,INSERT,UPDATE,DELETE,
CREATE ROUTINE,ALTER ROUTINE,EXECUTE,INDEX,CREATE VIEW,SHOW VIEW,REFERENCES
 ON 數據庫名稱.* TO 'appUser';

 

5、刷新權限

FLUSH PRIVILEGES;

 

 

三、創建readUser只讀用戶,並授權


1、創建readUser用戶,並設置密碼,允許所有地方登錄

CREATE USER 'readUser'@'%' IDENTIFIED BY '密碼';

 

2、授權,授予查詢表、查詢視圖的權限

GRANT SELECT,SHOW VIEW ON 數據庫名稱.* TO 'readUser';

 

3、刷新權限

FLUSH PRIVILEGES;

 

 

四、Mysql查看用戶的權限

SHOW GRANTS FOR 'root'@'localhost';
SHOW GRANTS FOR 'root'@'192.168.1.100';
SHOW GRANTS FOR 'appUser';
SHOW GRANTS FOR 'readUser'@'%';

 

 

五、Mysql查看用戶表

use mysql;
 
select * from user;

 

 

六、Mysql數據庫權限列表

 
ALTER:    Allows use of ALTER TABLE.修改表
CREATE:    Allows use of CREATE TABLE.創建表
CREATE TEMPORARY TABLES:    Allows use of CREATE TEMPORARY TABLE.創建臨時表
DROP:        Allows use of DROP TABLE.刪除表,刪除數據表或數據庫
SELECT:    Allows use of SELECT. 查詢
INSERT:    Allows use of INSERT. 插入
UPDATE:    Allows use of UPDATE. 更新
DELETE:    Allows use of DELETE.刪除表數據
EXECUTE:    Allows the user to run stored routines. 執行存儲過程
INDEX:    Allows use of CREATE INDEX and DROP INDEX.創建和刪除索引
CREATE VIEW:    Allows use of CREATE VIEW.創建視圖
SHOW VIEW:    Allows use of SHOW CREATE VIEW.查看創建的視圖
REFERENCES:    授予用戶可以創建一個外鍵來參照特定數據表的權限。
CREATE ROUTINE:表示授予用戶可以為特定的數據庫創建存儲過程和存儲函數的權限。
ALTER ROUTINE:表示授予用戶可以更新和刪除數據庫中已有的存儲過程和存儲函數的權限。
ALLALL PRIVILEGES:所有的權限名。(和root一樣)
usage: 只允許登錄--其它什么也不允許做

 

 

七、生產環境數據庫授權建議

 

 

八、Mysql回收權限,撤銷用戶權限

回收權限使用:REVOKE

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

 

示例:

REVOKE SELECT ON *.* FROM 'appUser'@'localhosts';
 
 
REVOKE ALTER,CREATE,DROP,SELECT,INSERT,UPDATE,DELETE,
CREATE ROUTINE,ALTER ROUTINE,EXECUTE,INDEX,CREATE VIEW,SHOW VIEW,
REFERENCES,CREATE TEMPORARY TABLES 
ON *.* FROM 'appUser';

 

刷新權限

FLUSH PRIVILEGES;

 

 

九、Mysql刪除用戶

DROP USER 'username';
 
DROP USER 'username'@'host';

 

 

十、Mysql設置密碼,修改用戶密碼

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

 

如果是當前登錄用戶修改密碼可以用:

SET PASSWORD = PASSWORD("newpassword");

root用戶給其他用戶修改密碼,示例:

SET PASSWORD FOR 'appUser'@'localhost' = PASSWORD("123456");

 

 

 

(時間寶貴,分享不易,捐贈回饋,^_^)

 

================================

©Copyright 蕃薯耀 2021-12-31

https://www.cnblogs.com/fanshuyao/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM