搜尋
首頁資料庫mysql教程mysql怎麼增加權限

mysql怎麼增加權限

Apr 12, 2022 pm 03:25 PM
mysql

mysql中可用GRANT語句為使用者增加權限,語法「GRANT 權限類型ON 權限等級值TO user [IDENTIFIED BY '密碼'] [WITH子句];」;其中參數「user」表示使用者帳號,格式為「'使用者名稱'@'主機名稱'」。

mysql怎麼增加權限

本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。

在 MySQL 中,可以利用GRANT 語句為使用者授權,增加權限。

其語法格式如下:

GRANT priv_type [(column_list)] ON database.table
TO user [IDENTIFIED BY 'password']
[WITH with_option [with_option]...]

其中:

  • #priv_type 參數表示權限類型;

  • ## columns_list 參數表示權限作用於哪些欄位上,省略該參數時,表示作用於整個表;
  • database.table 用於指定權限的層級;
  • #user 參數表示使用者帳戶,由使用者名稱和主機名稱構成,格式是「'username'@'hostname'」;
  • IDENTIFIED BY 參數用來為使用者設定密碼;

password 參數是使用者的新密碼。
  • MySQL 中可以授予的權限有以下幾組:
  • #列權限,和表格中的一個具體欄位相關。例如,可以使用 UPDATE 語句更新表格 students 中 name 欄位的值的權限。
  • 表格權限,和一個具體表中的所有資料相關。例如,可以使用 SELECT 語句查詢表格 students 的所有資料的權限。
  • 資料庫權限,和一個具體的資料庫中的所有表格相關。例如,可以在現有的資料庫 mytest 中建立新表的權限。
  • 使用者權限,和 MySQL 中所有的資料庫相關。例如,可以刪除已有的資料庫或建立新的資料庫的權限。
  • 對應地,在GRANT 語句中可用來指定權限等級的值有下列幾類格式:

*:表示目前資料庫中的所有表。

*.*:表示所有資料庫中的所有表格。

db_name.*:表示某個資料庫中的所有表,db_name 指定資料庫名稱。

mysql怎麼增加權限db_name.tbl_name:表示某個資料庫中的某個表或視圖,db_name 指定資料庫名,tbl_name 指定表名或視圖名。

db_name.routine_name:表示某個資料庫中的某個預存程序或函數,routine_name 指定預存程序名稱或函數名稱。

###TO 子句:如果權限被授予給不存在的用戶,MySQL 會自動執行一條 CREATE USER 語句來建立這個用戶,但同時必須為該用戶設定密碼。 ###############在MySQL 中,擁有GRANT 權限的使用者才可以執行 GRANT 語句.############範例:###### ###使用GRANT 語句建立一個新的使用者testUser,密碼為testPwd。使用者 testUser 對所有的資料有查詢、插入權限,並授予 GRANT 權限。 ###
mysql> GRANT SELECT,INSERT ON *.*
    -> TO 'testUser'@'localhost'
    -> IDENTIFIED BY 'testPwd'
    -> WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.05 sec)
###使用 SHOW GRANTS 語句查詢使用者 testUser 的權限,如下所示。 ##################擴充知識:權限類型說明#########1)授予資料庫權限時,可以指定為下列值:###
權限名稱 對應user表中的欄位 #說明
SELECT Select_priv 表示授予使用者可以使用SELECT 語句存取特定資料庫中所有資料表和檢視的權限。
INSERT Insert_priv 表示授予使用者可以使用 INSERT 語句向特定資料庫中所有資料表新增資料行的權限。
DELETE Delete_priv 表示授予使用者可以使用 DELETE 語句刪除特定資料庫中所有資料表的資料行的權限。
UPDATE Update_priv 表示授予使用者可以使用 UPDATE 語句更新特定資料庫中所有資料表的值的權限。
REFERENCES References_priv 表示授予使用者可以建立指向特定的資料庫中的表外鍵的權限。
CREATE Create_priv 表示授權使用者可以使用 CREATE TABLE 語句在特定資料庫中建立新資料表的權限。
ALTER Alter_priv  表示授予使用者可以使用 ALTER TABLE 語句修改特定資料庫中所有資料表的權限。
SHOW VIEW Show_view_priv 表示授予使用者可以查看特定資料庫中已有視圖的視圖定義的權限。
CREATE ROUTINE Create_routine_priv 表示授予使用者可以為特定的資料庫建立預存程序和儲存函數的權限。
ALTER ROUTINE Alter_routine_priv 表示授予使用者可以更新和刪除資料庫中已有的儲存程序和儲存函數的權限。
INDEX Index_priv #表示授予使用者可以在特定資料庫中的所有資料表上定義和刪除索引的權限。
DROP Drop_priv 表示授予使用者可以刪除特定資料庫中所有資料表和檢視的權限。
CREATE TEMPORARY TABLES Create_tmp_table_priv 表示授予使用者可以在特定資料庫中建立暫存資料表的權限。
CREATE VIEW Create_view_priv 表示授予使用者可以在特定資料庫中建立新的視圖的權限。
EXECUTE ROUTINE Execute_priv 表示授予使用者可以呼叫特定資料庫的預存程序和儲存函數的權限。
LOCK TABLES Lock_tables_priv 表示授予使用者可以鎖定特定資料庫的已有資料表的權限。
ALL 或ALL PRIVILEGES 或SUPER Super_priv 表示以上所有權限/超級權限

#2) 授予表格權限時,可以指定為以下值:

##授予使用者可以使用UPDATE 語句更新特定資料表的權限ALTERAlter_priv 授予使用者可以使用ALTER TABLE 語句修改資料表的權限#REFERENCESReferences_priv授予使用者可以建立一個外鍵來參考特定資料表的權限CREATE#Create_priv 授予使用者可以使用特定的名字建立一個資料表的權限INDEXIndex_priv授予使用者可以在表上定義索引的權限ALL 或ALL PRIVILEGES 或SUPERSuper_priv#3) 授予列權限時,的值只能指定為SELECT、INSERT 和UPDATE,同時權限的後面需要加上列名清單column-list。
#權限名稱 對應user表中的欄位 說明
SELECT #Select_priv 授予使用者可以使用SELECT 語句進行存取特定資料表的權限
INSERT Insert_priv 授予使用者可以使用INSERT 語句向一個特定表中新增資料行的權限
DELETE Delete_priv 授予使用者可以使用DELETE 語句從特定表中刪除資料行的權限
DROP #Drop_priv 授予使用者可以刪除資料表的權限
UPDATE Update_priv
##所有的權限名稱

4) 最有效率的權限是使用者權限。

授予使用者權限時,除了可以指定為授予資料庫權限時的所有值之外,還可以是下面這些值:

    CREATE USER:表示授予使用者可以建立和刪除新使用者的權限。
  • SHOW DATABASES:表示授予使用者可以使用 SHOW DATABASES 語句查看所有現有的資料庫的定義的權限。
  • 【相關推薦:
mysql影片教學

以上是mysql怎麼增加權限的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
解釋InnoDB緩衝池及其對性能的重要性。解釋InnoDB緩衝池及其對性能的重要性。Apr 19, 2025 am 12:24 AM

InnoDBBufferPool通過緩存數據和索引頁來減少磁盤I/O,提升數據庫性能。其工作原理包括:1.數據讀取:從BufferPool中讀取數據;2.數據寫入:修改數據後寫入BufferPool並定期刷新到磁盤;3.緩存管理:使用LRU算法管理緩存頁;4.預讀機制:提前加載相鄰數據頁。通過調整BufferPool大小和使用多個實例,可以優化數據庫性能。

MySQL與其他編程語言:一種比較MySQL與其他編程語言:一種比較Apr 19, 2025 am 12:22 AM

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。MySQL以其高性能、可扩展性和跨平台支持著称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

學習MySQL:新用戶的分步指南學習MySQL:新用戶的分步指南Apr 19, 2025 am 12:19 AM

MySQL值得學習,因為它是強大的開源數據庫管理系統,適用於數據存儲、管理和分析。 1)MySQL是關係型數據庫,使用SQL操作數據,適合結構化數據管理。 2)SQL語言是與MySQL交互的關鍵,支持CRUD操作。 3)MySQL的工作原理包括客戶端/服務器架構、存儲引擎和查詢優化器。 4)基本用法包括創建數據庫和表,高級用法涉及使用JOIN連接表。 5)常見錯誤包括語法錯誤和權限問題,調試技巧包括檢查語法和使用EXPLAIN命令。 6)性能優化涉及使用索引、優化SQL語句和定期維護數據庫。

MySQL:初學者的基本技能MySQL:初學者的基本技能Apr 18, 2025 am 12:24 AM

MySQL適合初學者學習數據庫技能。 1.安裝MySQL服務器和客戶端工具。 2.理解基本SQL查詢,如SELECT。 3.掌握數據操作:創建表、插入、更新、刪除數據。 4.學習高級技巧:子查詢和窗口函數。 5.調試和優化:檢查語法、使用索引、避免SELECT*,並使用LIMIT。

MySQL:結構化數據和關係數據庫MySQL:結構化數據和關係數據庫Apr 18, 2025 am 12:22 AM

MySQL通過表結構和SQL查詢高效管理結構化數據,並通過外鍵實現表間關係。 1.創建表時定義數據格式和類型。 2.使用外鍵建立表間關係。 3.通過索引和查詢優化提高性能。 4.定期備份和監控數據庫確保數據安全和性能優化。

MySQL:解釋的關鍵功能和功能MySQL:解釋的關鍵功能和功能Apr 18, 2025 am 12:17 AM

MySQL是一個開源的關係型數據庫管理系統,廣泛應用於Web開發。它的關鍵特性包括:1.支持多種存儲引擎,如InnoDB和MyISAM,適用於不同場景;2.提供主從復制功能,利於負載均衡和數據備份;3.通過查詢優化和索引使用提高查詢效率。

SQL的目的:與MySQL數據庫進行交互SQL的目的:與MySQL數據庫進行交互Apr 18, 2025 am 12:12 AM

SQL用於與MySQL數據庫交互,實現數據的增、刪、改、查及數據庫設計。 1)SQL通過SELECT、INSERT、UPDATE、DELETE語句進行數據操作;2)使用CREATE、ALTER、DROP語句進行數據庫設計和管理;3)複雜查詢和數據分析通過SQL實現,提升業務決策效率。

初學者的MySQL:開始數據庫管理初學者的MySQL:開始數據庫管理Apr 18, 2025 am 12:10 AM

MySQL的基本操作包括創建數據庫、表格,及使用SQL進行數據的CRUD操作。 1.創建數據庫:CREATEDATABASEmy_first_db;2.創建表格:CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY,titleVARCHAR(100)NOTNULL,authorVARCHAR(100)NOTNULL,published_yearINT);3.插入數據:INSERTINTObooks(title,author,published_year)VA

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)