首頁 > 資料庫 > mysql教程 > linux怎麼設定MySQL的權限

linux怎麼設定MySQL的權限

PHPz
發布: 2023-04-21 10:25:23
原創
3548 人瀏覽過

Linux下設定MySQL權限可以說是比較常見的操作,這篇文章將介紹一些常見的方法來幫助您正確地設定MySQL的權限。為了方便,本文假設您已經安裝了MySQL,並且您正在使用root使用者操作。

一、授予MySQL使用者權限

在MySQL中,我們可以透過GRANT指令來授予使用者存取某些資料庫的權限。 GRANT指令的基本格式如下:

GRANT priv_type ON database_name.table_name TO user_name@host_name IDENTIFIED BY 'password';
登入後複製

其中,priv_type表示授予的權限類型,如SELECT、INSERT、UPDATE、DELETE、CREATE等等;database_name.table_name表示要授權的資料庫和表名,可以授權多個表或所有表,用*代替;user_name@host_name表示要授權的使用者和主機名,如果主機名稱是localhost,則表示只能從本機存取;IDENTIFIED BY 'password'表示密碼,如果不需要密碼則可以省略。

例如,要授予使用者test1對資料庫db1中所​​有表的SELECT、INSERT、UPDATE權限,並設定密碼為123456,則可以執行以下命令:

GRANT SELECT, INSERT, UPDATE ON db1.* TO 'test1'@'%' IDENTIFIED BY '123456';
登入後複製

上面的命令中, %表示任何主機都可以進行存取。

二、撤銷MySQL使用者權限

如果一個使用者不再需要存取某些資料庫或資料表,我們可以透過REVOKE指令來撤銷已經授權的權限。 REVOKE指令的格式如下:

REVOKE priv_type ON database_name.table_name FROM user_name@host_name;
登入後複製

其中,priv_type、database_name.table_name、user_name@host_name的意思與GRANT指令相同。例如,要撤銷使用者test1對資料庫db1中所​​有資料表的SELECT權限,可以執行下列指令:

REVOKE SELECT ON db1.* FROM 'test1'@'%';
登入後複製

三、檢視MySQL使用者權限

使用SHOW指令可以檢視MySQL的使用者權限。 SHOW指令的格式如下:

SHOW GRANTS FOR user_name@host_name;
登入後複製

例如,要查看使用者test1在所有主機上的權限,可以執行下列指令:

SHOW GRANTS FOR 'test1'@'%';
登入後複製

執行指令後,MySQL會傳回test1使用者在所有主機上的權限資訊。

四、設定MySQL ROOT密碼

在MySQL中,ROOT用戶是最高權限用戶,因此設定ROOT用戶的密碼非常重要。我們可以使用SET PASSWORD指令來設定ROOT使用者的密碼。 SET PASSWORD指令的格式如下:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
登入後複製

其中,'root'@'localhost'表示待修改密碼的用戶,new_password表示新的密碼。

在設定ROOT密碼時,也可以使用UPDATE指令。 UPDATE指令的範例程式碼如下:

USE mysql;
UPDATE user SET password=PASSWORD("new_password") WHERE user='root';
FLUSH PRIVILEGES;
登入後複製

以上指令,先切換到mysql資料庫,再使用UPDATE指令將使用者表中ROOT使用者的密碼修改成new_password,最後使用FLUSH PRIVILEGES刷新權限。

總結

以上便是設定MySQL權限的幾個方法。在實際應用中,我們可以根據實際情況來靈活地使用這些方法。如果您想深入了解MySQL權限管理方面的知識,可以透過MySQL官方文件來學習。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板