最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql8.0.30用戶與權(quán)限管理的實踐

 更新時間:2024年04月24日 10:53:13   作者:HappyLearnerL  
MySQL8.0新加了很多功能,其中在用戶管理中增加了角色的管理,本文主要介紹了mysql8.0.30用戶與權(quán)限管理的實踐,具有一定的參考價值,感興趣的可以了解一下

用戶管理

登錄mysql服務(wù)器

mysql –h hostname|hostIP –P port –u username –p DatabaseName –e "SQL語句"

下面詳細介紹命令中的參數(shù):

  • h參數(shù) 后面接主機名或者主機IP,hostname為主機,hostIP為主機IP。
  • P參數(shù) 后面接MySQL服務(wù)的端口,通過該參數(shù)連接到指定的端口。MySQL服務(wù)的默認端口是3306,不使用該參數(shù)時自動連接到3306端口,port為連接的端口號。
  • u參數(shù) 后面接用戶名,username為用戶名。
  • p參數(shù) 會提示輸入密碼。
  • DatabaseName參數(shù) 指明登錄到哪一個數(shù)據(jù)庫中。如果沒有該參數(shù),就會直接登錄到MySQL數(shù)據(jù)庫
    中,然后可以使用USE命令來選擇數(shù)據(jù)庫。
  • e參數(shù) 后面可以直接加SQL語句。登錄MySQL服務(wù)器以后即可執(zhí)行這個SQL語句,然后退出MySQL
    服務(wù)器。

創(chuàng)建用戶

create user zhang3 identified by '123_qwerQWER'; # 默認hosts是 % 
flush privileges; #立即生效
---------------------------------------------------------
create user 'kangshifu'@'localhost' identified by '123_qwerQWER'; # 創(chuàng)建指定host的用戶

在這里插入圖片描述

修改用戶

update mysql.user set user='li4' where user='zhang3';
flush privileges;

在這里插入圖片描述

刪除用戶

drop user li4; # 默認刪除host為%的用戶
drop user 'kangshifu'@'localhost'; #指定刪除host的用戶
flush privileges;
---------------------------------------------------------
delete from mysql.user where host='%' and user='zhang3'; # delete也可以刪除用戶
flush privileges;

查看用戶

select host, user from user;
或
select host, user from mysql.user;

修改用戶密碼

set password for 'zhang3'@'%'='122_qwerQWER';

權(quán)限管理

查看權(quán)限

show privileges;

在這里插入圖片描述

  • (1) CREATE和DROP權(quán)限 ,可以創(chuàng)建新的數(shù)據(jù)庫和表,或刪除(移掉)已有的數(shù)據(jù)庫和表。如果將MySQL數(shù)據(jù)庫中的DROP權(quán)限授予某用戶,用戶就可以刪除MySQL訪問權(quán)限保存的數(shù)據(jù)庫。
  • (2)SELECT、INSERT、UPDATE和DELETE權(quán)限 允許在一個數(shù)據(jù)庫現(xiàn)有的表上實施操作。
  • (3) SELECT權(quán)限只有在它們真正從一個表中檢索行時才被用到。
  • (4) INDEX權(quán)限 允許創(chuàng)建或刪除索引,INDEX適用于已有的表。如果具有某個表的CREATE權(quán)限,就可以在CREATE TABLE語句中包括索引定義。
  • (5) ALTER權(quán)限 可以使用ALTER TABLE來更改表的結(jié)構(gòu)和重新命名表。
  • (6) CREATE ROUTINE權(quán)限 用來創(chuàng)建保存的程序(函數(shù)和程序),ALTER ROUTINE權(quán)限用來更改和刪除保存的程序, EXECUTE權(quán)限 用來執(zhí)行保存的程序。
  • (7) GRANT權(quán)限 允許授權(quán)給其他用戶,可用于數(shù)據(jù)庫、表和保存的程序。
  • (8) FILE權(quán)限 使用戶可以使用LOAD DATA INFILE和SELECT … INTO OUTFILE語句讀或?qū)懛?wù)器上的文件,任何被授予FILE權(quán)限的用戶都能讀或?qū)慚ySQL服務(wù)器上的任何文件(說明用戶可以讀任何數(shù)據(jù)庫目錄下的文件,因為服務(wù)器可以訪問這些文件)。

授予權(quán)限的原則

權(quán)限控制主要是出于安全因素,因此需要遵循以下幾個 經(jīng)驗原則 :

  • 1、只授予能 滿足需要的最小權(quán)限 ,防止用戶干壞事。比如用戶只是需要查詢,那就只給select權(quán)限就可以了,不要給用戶賦予update、insert或者delete權(quán)限。
  • 2、創(chuàng)建用戶的時候 限制用戶的登錄主機 ,一般是限制成指定IP或者內(nèi)網(wǎng)IP段。
  • 3、為每個用戶 設(shè)置滿足密碼復(fù)雜度的密碼 。
  • 4、 定期清理不需要的用戶 ,回收權(quán)限或者刪除用戶。

授予權(quán)限

注意: 命令行字母可小寫

GRANT 權(quán)限1,權(quán)限2,…權(quán)限n ON 數(shù)據(jù)庫名稱.表名稱 TO 用戶名@用戶地址 [IDENTIFIED BY ‘密碼口令'];
  • 給li4用戶用本地命令行方式,授予atguigudb這個庫下的所有表的插刪改查的權(quán)限。
    GRANT SELECT,INSERT,DELETE,UPDATE ON atguigudb.* TO li4@localhost ;

  • 授予通過網(wǎng)絡(luò)方式登錄的joe用戶 ,對所有庫所有表的全部權(quán)限,密碼設(shè)為123。注意這里唯獨不包括grant的權(quán)限
    GRANT ALL PRIVILEGES ON *.* TO joe@'%' IDENTIFIED BY '123';

實例如下

 grant select on atguigu.* to zhang3@%;
 grant select on custom.users to 'zhang3'@'%';

查看權(quán)限

show grants for 'root'@'%'\G
show grants for 'zhang3'@'%'\G

在這里插入圖片描述

收回權(quán)限

REVOKE 權(quán)限1,權(quán)限2,…權(quán)限n ON 數(shù)據(jù)庫名稱.表名稱 FROM 用戶名@用戶地址;
#收回全庫全表的所有權(quán)限
REVOKE ALL PRIVILEGES ON *.* FROM joe@'%';
#收回mysql庫下的所有表的插刪改查權(quán)限
REVOKE SELECT,INSERT,UPDATE,DELETE ON mysql.* FROM joe@localhost;

查看user 信息表結(jié)構(gòu)和信息

desc mysql.user;
select * from mysql.user\G

在這里插入圖片描述

在這里插入圖片描述

db表

DESCRIBE mysql.db;
  • 用戶列 db表用戶列有3個字段,分別是Host、User、Db。3個字段分別表示主機名、用戶名和數(shù)據(jù)庫名。表示從某個主機連接某個用戶對某個數(shù)據(jù)庫的操作權(quán)限,這3個字段的組合構(gòu)成了db表的主鍵。

  • 權(quán)限列
    Create_routine_priv和Alter_routine_priv這兩個字段決定用戶是否具有創(chuàng)建和修改存儲過程的權(quán)限

其他表信息、

procs_priv表 tables_priv表和 columns_priv表 需要時自行了解

角色管理

  • 角色(Role),可以認為是一些權(quán)限的集合,一直是存在各個數(shù)據(jù)庫中,比如Oracle、SQL Server、OceanBase等,MySQL 自從 8.0 release 才引入角色這個概念。
  • 為用戶賦予統(tǒng)一的角色,即把一個帶有某些權(quán)限集合的角色分配給一個用戶,那該用戶就擁有了該角色所包含的所有權(quán)限,權(quán)限的修改直接通過角色來進行,無需為每個用戶單獨授權(quán),大大的方便了權(quán)限管理。

創(chuàng)建角色

CREATE ROLE 'role_name'[@'host_name'] [,'role_name'[@'host_name']]...
CREATE ROLE 'manager'@'localhost';

給角色授予權(quán)限

GRANT privileges ON table_name TO 'role_name'[@'host_name'];

查看所有權(quán)限

show privileges\G

在這里插入圖片描述

查看角色的權(quán)限

SHOW GRANTS FOR 'manager';

回收角色的權(quán)限

REVOKE privileges ON tablename FROM 'rolename';

刪除角色

注意, 如果你刪除了角色,那么用戶也就失去了通過這個角色所獲得的所有權(quán)限 。

DROP ROLE role [,role2]...
DROP ROLE 'school_read';

給用戶賦予角色

GRANT role [,role2,...] TO user [,user2,...];
GRANT 'school_read' TO 'kangshifu'@'localhost';

激活角色

show variables like 'activate_all_roles_on_login';
SET GLOBAL activate_all_roles_on_login=ON;

這條 SQL 語句的意思是,對 所有角色永久激活 。運行這條語句之后,用戶才真正擁有了賦予角色的所有
權(quán)限。

在這里插入圖片描述

撤銷用戶的角色

REVOKE role FROM user;
REVOKE 'school_read' FROM 'kangshifu'@'localhost';
SHOW GRANTS FOR 'kangshifu'@'localhost';

設(shè)置強制角色(mandatory role)

在這里插入圖片描述

 到此這篇關(guān)于mysql8.0.30用戶與權(quán)限管理的實踐的文章就介紹到這了,更多相關(guān)mysql8.0.30用戶與權(quán)限管理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL?臨時表使用和創(chuàng)建

    MySQL?臨時表使用和創(chuàng)建

    本文介紹了MySQL臨時表的概念、使用方法以及注意事項,臨時表是一種僅在當前會話中存在的表,適用于存儲臨時數(shù)據(jù)、優(yōu)化查詢性能和簡化數(shù)據(jù)操作,通過創(chuàng)建、插入數(shù)據(jù)、查詢數(shù)據(jù)以及更新和刪除數(shù)據(jù)等操作,可以實現(xiàn)臨時表的使用,感興趣的朋友一起看看吧
    2025-03-03
  • MySql的分組函數(shù) ROLLUP 語法及完美解決方案

    MySql的分組函數(shù) ROLLUP 語法及完美解決方案

    這篇文章總結(jié)了在MySQL中如何使用`GROUP BY`和`ROLLUP`來實現(xiàn)分組匯總,通過`WITH ROLLUP`和`GROUPING()`函數(shù),可以靈活地控制匯總級別,并使用`HAVING`子句來過濾掉中間匯總行,只保留明細和最終總計行,感興趣的朋友跟隨小編一起看看吧
    2026-03-03
  • mysql數(shù)據(jù)庫找不到表的問題及解決

    mysql數(shù)據(jù)庫找不到表的問題及解決

    這篇文章主要介紹了mysql數(shù)據(jù)庫找不到表的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 如何創(chuàng)建一個創(chuàng)建MySQL數(shù)據(jù)庫中的datetime類型

    如何創(chuàng)建一個創(chuàng)建MySQL數(shù)據(jù)庫中的datetime類型

    這篇文章主要介紹了如何創(chuàng)建一個創(chuàng)建MySQL數(shù)據(jù)庫中的datetime類型,創(chuàng)建一個datetime類型的方法以及create domain 和create type的用法和區(qū)別,需要的朋友可以參考一下
    2022-03-03
  • 云服務(wù)器安裝mysql后如何設(shè)置示例詳解

    云服務(wù)器安裝mysql后如何設(shè)置示例詳解

    MySQL是一種廣泛使用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),它允許開發(fā)者存儲、檢索和管理數(shù)據(jù),在云服務(wù)器上配置MySQL通常涉及安裝MySQL軟件、設(shè)置數(shù)據(jù)庫實例、配置網(wǎng)絡(luò)和安全設(shè)置等,這篇文章主要介紹了云服務(wù)器安裝mysql后如何設(shè)置的相關(guān)資料,需要的朋友可以參考下
    2025-10-10
  • Linux中查看MySQL服務(wù)是否開啟方式

    Linux中查看MySQL服務(wù)是否開啟方式

    這篇文章主要介紹了Linux中查看MySQL服務(wù)是否開啟方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • MySQL如何使用授權(quán)命令grant

    MySQL如何使用授權(quán)命令grant

    這篇文章主要介紹了MySQL如何使用授權(quán)命令grant,文中示例代碼非常詳細,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • MySQL數(shù)據(jù)庫備份的四種常用方式與選型指南

    MySQL數(shù)據(jù)庫備份的四種常用方式與選型指南

    MySQL備份是數(shù)據(jù)庫管理的核心環(huán)節(jié)之一,通過備份能夠有效地防止數(shù)據(jù)丟失,確保數(shù)據(jù)的安全和恢復(fù)能力,備份的方式多種多樣,以下是四種常見的MySQL備份表的方式,涵蓋從簡單的命令行工具到復(fù)雜的二進制日志備份,供不同場景下使用,需要的朋友可以參考下
    2026-04-04
  • mysql中使用date_add()函數(shù)講解

    mysql中使用date_add()函數(shù)講解

    這篇文章主要介紹了mysql中使用date_add()函數(shù)講解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • MySQL 啟動失敗(code=exited, status=1/FAILURE)異常解決方案

    MySQL 啟動失敗(code=exited, status=1/FAILURE)異常解決方案

    在MySQL服務(wù)啟動時遇到啟動失敗問題,通過查看和分析錯誤日志文件,找到并解決了配置文件中的錯誤項,成功重啟了MySQL服務(wù).文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11

最新評論

祁门县| 新郑市| 永和县| 万全县| 渝北区| 芦山县| 哈尔滨市| 德钦县| 白银市| 枝江市| 日照市| 辉南县| 莆田市| 西畴县| 金塔县| 旺苍县| 千阳县| 海城市| 襄垣县| 祁门县| 天津市| 体育| 江永县| 马山县| 巴塘县| 靖安县| 海兴县| 永城市| 积石山| 内丘县| 长顺县| 晋中市| 老河口市| 洛阳市| 开鲁县| 舞钢市| 莱阳市| 巴南区| 岗巴县| 皋兰县| 濮阳县|