如何允許用戶在 Linux 上訪問 MySQL 數(shù)據(jù)庫?
在Linux 系統(tǒng)上安裝 MySQL并創(chuàng)建新數(shù)據(jù)庫后,您需要設置一個新用戶來訪問該數(shù)據(jù)庫,授予其讀取和/或?qū)懭霐?shù)據(jù)的權(quán)限。
不建議使用 root 帳戶,而是根據(jù)需要創(chuàng)建一個新帳戶并授予權(quán)限,在本教程中,您將看到如何允許用戶在 Linux 上訪問 MySQL 數(shù)據(jù)庫。
在本教程中,您將學習:
- 如何創(chuàng)建一個新的 MySQL 用戶
- 如何允許完全用戶訪問 MySQL 數(shù)據(jù)庫
- 如何允許某些類型的訪問 MySQL 數(shù)據(jù)庫
第一步
首先使用 root 帳戶打開 MySQL。
$ sudo mysql
或者,在某些配置中,您可能需要輸入以下命令并提供您的 root 密碼:
$ mysql -u root -p
第二步
如果您還沒有這樣做,請創(chuàng)建一個新用戶,我們將在后面的步驟中向其授予數(shù)據(jù)庫權(quán)限。以下示例創(chuàng)建用戶wljslmz,使用您自己的信息填寫占位符值。
mysql> CREATE USER 'wljslmz'@'localhost' IDENTIFIED BY 'password_here';
如果您還沒有創(chuàng)建數(shù)據(jù)庫,請同時創(chuàng)建:
mysql> CREATE DATABASE test;
第三步
現(xiàn)在是時候向我們的wljslmz用戶授予test數(shù)據(jù)庫權(quán)限了,以下是您向用戶授予完全權(quán)限的方式,這允許他們對數(shù)據(jù)庫執(zhí)行任何操作。
mysql> GRANT ALL PRIVILEGES ON test.* TO 'wljslmz'@'localhost';
或者,如果您只想授予用戶訪問數(shù)據(jù)庫mytable內(nèi)特定表的權(quán)限test:
mysql> GRANT ALL PRIVILEGES ON test.mytable TO 'wljslmz'@'localhost';
如果您不想將所有權(quán)限授予用戶,您也可以使用其他權(quán)限。
- CREATE - 允許用戶在數(shù)據(jù)庫中創(chuàng)建新表
- DROP - 允許用戶刪除表或數(shù)據(jù)庫本身
- DELETE - 允許用戶刪除表中的行
- INSERT - 允許用戶向表中插入新的數(shù)據(jù)行
- SELECT - 允許用戶讀取數(shù)據(jù)庫中的條目
- UPDATE - 允許用戶更新現(xiàn)有的數(shù)據(jù)庫行
第四步
最后一步是在完全退出 MySQL 之前刷新所有權(quán)限。
mysql> FLUSH PRIVILEGES;
mysql> exit
這里的所有都是它的,您的用戶現(xiàn)在應該能夠訪問數(shù)據(jù)庫或您授予訪問權(quán)限的數(shù)據(jù)庫內(nèi)的任何表。
總結(jié)
在本教程中,我們了解了如何允許用戶訪問 Linux 系統(tǒng)上的 MySQL 數(shù)據(jù)庫。這比使用 root 帳戶執(zhí)行所有操作更好、更安全,并且應該在任何 Linux 發(fā)行版上都可以正常工作?,F(xiàn)在很容易授予更多特權(quán)或根據(jù)需要將其取消。