MySQL是一種常見的關係型資料庫管理系統,它可以用於儲存和管理大量的資料。在MySQL中,管理員需要對不同的使用者指派不同的權限,以便他們可以對不同的資料庫和表格執行不同的操作。本文將介紹如何給使用者分配不同的MySQL權限。
在命令列介面中輸入以下命令登入MySQL:
mysql -u root -p
其中,「-u」選項用於指定要使用的使用者名,「root」為管理員使用者名稱;「-p」選項指示MySQL要求該使用者提供密碼才能登入。在登入MySQL時,您需要提供正確的密碼。
使用下列指令建立新使用者:
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';
其中,「new_user」是新使用者的使用者名,您需要為新使用者分配一個容易記住的使用者名稱而不是使用隨機的名稱。 「localhost」指限制此使用者的IP位址僅為本機。如果您想讓該使用者從外部主機存取資料庫,請改為「%」符號。最後,「password」是新用戶的密碼,需要為新用戶設定安全的密碼。
分配權限包含兩個面向:一個是為使用者指派可以操作的資料庫和資料表的權限,另一個是為使用者指派MySQL Server的全域權限。
為使用者授予特定的資料庫和表格的權限:
GRANT 权限 ON 数据库名.数据表名 TO 'user_name'@'访问来源';
其中,「權限」指授予的特定操作權限,例如SELECT、INSERT、DELETE、UPDATE、ALL PRIVILEGES等;“ user_name」是指要指派權限的使用者名稱;「存取來源」指該使用者的存取來源。例如,'localhost'是指其在本機上,'%'符號是指該使用者可以從任何位址存取該資源。
授予資料庫操作權限的語句範例:
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON test_db.* TO 'new_user'@'localhost';
授予表格操作權限的語句範例:
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON test_db.test_table TO 'new_user'@'localhost';
為使用者授予MySQL Server的全域權限:
GRANT 权限 ON *.* TO 'user_name'@'access_mode';
其中,「.」表示全域權限。例如,使用下列命令授予新使用者在所有資料庫和表格上的所有權限:
GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost';
同樣,管理員需要撤銷某個使用者的權限時,可以使用以下語句:
REVOKE 权限 ON 数据库名.数据表名 FROM 'user_name'@'访问来源';
語法與GRANT相似。例如,以下命令將從使用者「new_user」撤銷所有全域權限:
REVOKE ALL PRIVILEGES ON *.* FROM 'new_user'@'localhost';
總結
#在MySQL中,管理員需要為不同的使用者指派不同的權限,以便他們可以對不同的資料庫和表格執行不同的操作。透過使用GRANT和REVOKE語句,管理員可以控制使用者可以執行的操作。
以上是MySQL如何給使用者分配不同的權限的詳細內容。更多資訊請關注PHP中文網其他相關文章!