新聞中心
在生產(chǎn)環(huán)境中總不能一直“死啃”root管理員。為了保障數(shù)據(jù)庫系統(tǒng)的安全性,以及讓其他用戶協(xié)同管理數(shù)據(jù)庫,我們可以在MariaDB數(shù)據(jù)庫管理系統(tǒng)中為他們創(chuàng)建多個專用的數(shù)據(jù)庫管理賬戶,然后再分配合理的權(quán)限,以滿足他們的工作需求。為此,可使用root管理員登錄數(shù)據(jù)庫管理系統(tǒng),然后按照“CREATE USER 用戶名@主機(jī)名 IDENTIFIED BY '密碼'; ”的格式創(chuàng)建數(shù)據(jù)庫管理賬戶。再次提醒大家,一定不要忘記每條數(shù)據(jù)庫命令后面的分號(;)。

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比秦安網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式秦安網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋秦安地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。
MariaDB [(none)]> CREATE USER luke@localhost IDENTIFIED BY 'linuxprobe';
Query OK, 0 rows affected (0.00 sec)創(chuàng)建的賬戶信息可以使用select命令語句來查詢。下面命令查詢的是賬戶luke的主機(jī)名稱、賬戶名稱以及經(jīng)過加密的密碼值信息:
MariaDB [(none)]> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> SELECT HOST,USER,PASSWORD FROM user WHERE USER="luke";
+-----------+------+-------------------------------------------+
| host | user | password |
+-----------+------+-------------------------------------------+
| localhost | luke | *55D9962586BE75F4B7D421E6655973DB07D6869F |
+-----------+------+-------------------------------------------+不過,用戶luke僅僅是一個普通賬戶,沒有數(shù)據(jù)庫的任何操作權(quán)限。不信的話,可以切換到luke賬戶來查詢數(shù)據(jù)庫管理系統(tǒng)中當(dāng)前都有哪些數(shù)據(jù)庫。可以發(fā)現(xiàn),該賬戶甚至沒法查看完整的數(shù)據(jù)庫列表(剛才使用root賬戶時可以查看到3個數(shù)據(jù)庫列表):
MariaDB [mysql]> exit
Bye
[root@linuxprobe ~]# mysql -u luke -p
Enter password: 此處輸入luke賬戶的數(shù)據(jù)庫密碼
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 6
Server version: 5.5.35-MariaDB MariaDB Server
Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.03 sec)數(shù)據(jù)庫管理系統(tǒng)所使用的命令一般都比較復(fù)雜。我們以grant命令為例進(jìn)行說明。grant命令用于為賬戶進(jìn)行授權(quán),其常見格式如表18-1所示。在使用grant命令時需要寫上要賦予的權(quán)限、數(shù)據(jù)庫及表單名稱,以及對應(yīng)的賬戶及主機(jī)信息。其實(shí),只要理解了命令中每個字段的功能含義,也就不覺得命令復(fù)雜難懂了。
表18-1 GRANT命令的常見格式以及解釋
| 命令 | 作用 |
|---|---|
| GRANT 權(quán)限 ON 數(shù)據(jù)庫.表單名稱 TO 用戶名@主機(jī)名 | 對某個特定數(shù)據(jù)庫中的特定表單給予授權(quán) |
| GRANT 權(quán)限 ON 數(shù)據(jù)庫.* TO 用戶名@主機(jī)名 | 對某個特定數(shù)據(jù)庫中的所有表單給予授權(quán) |
| GRANT 權(quán)限 ON . TO 用戶名@主機(jī)名 | 對所有數(shù)據(jù)庫及所有表單給予授權(quán) |
| GRANT 權(quán)限1,權(quán)限2 ON 數(shù)據(jù)庫.* TO 用戶名@主機(jī)名 | 對某個數(shù)據(jù)庫中的所有表單給予多個授權(quán) |
| GRANT ALL PRIVILEGES ON . TO 用戶名@主機(jī)名 | 對所有數(shù)據(jù)庫及所有表單給予全部授權(quán)(需謹(jǐn)慎操作) |
當(dāng)然,賬戶的授權(quán)工作肯定是需要數(shù)據(jù)庫管理員來執(zhí)行的。下面以root管理員的身份登錄到數(shù)據(jù)庫管理系統(tǒng)中,針對mysql數(shù)據(jù)庫中的user表單向賬戶luke授予查詢、更新、刪除以及插入等權(quán)限。
劉遄老師特別懂同學(xué)們現(xiàn)在心里想的是什么~哈哈,我起初也覺得在每條數(shù)據(jù)庫命令后都要加上;(分號)來結(jié)束特別的不方便,時常還會忘記,但敲的命令多了也就自然習(xí)慣了。授權(quán)操作執(zhí)行后來查看下luke用戶的權(quán)限吧:
[root@linuxprobe ~]# mysql -u root -p
Enter password:此處輸入root管理員在數(shù)據(jù)庫中的密碼
MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> GRANT SELECT,UPDATE,DELETE,INSERT ON mysql.user TO luke@localhost;
Query OK, 0 rows affected (0.00 sec)
在執(zhí)行完上述授權(quán)操作之后,我們再查看一下賬戶luke的權(quán)限:
MariaDB [(none)]> SHOW GRANTS FOR luke@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for luke@localhost |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'luke'@'localhost' IDENTIFIED BY PASSWORD '*55D9962586BE75F4B7D421E6655973DB07D6869F' |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `mysql`.`user` TO 'luke'@'localhost' |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)上面輸出信息中顯示賬戶luke已經(jīng)擁有了針對mysql數(shù)據(jù)庫中user表單的一系列權(quán)限了。這時我們再切換到賬戶luke,此時就能夠看到mysql數(shù)據(jù)庫了,而且還能看到表單user(其余表單會因無權(quán)限而被繼續(xù)隱藏):
[root@linuxprobe ~]# mysql -u luke -p
Enter password:此處輸入luke用戶在數(shù)據(jù)庫中的密碼
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
+--------------------+
2 rows in set (0.01 sec)
MariaDB [(none)]> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> SHOW TABLES;
+-----------------+
| Tables_in_mysql |
+-----------------+
| user |
+-----------------+
1 row in set (0.01 sec)
MariaDB [mysql]> exit
Bye大家不要心急,我們接下來會慢慢學(xué)習(xí)數(shù)據(jù)庫內(nèi)容的修改方法。當(dāng)前,先切換回root賬戶,移除剛才的授權(quán)。
[root@linuxprobe ~]# mysql -u root -p
Enter password:此處輸入root管理員在數(shù)據(jù)庫中的密碼
MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [(none)]> REVOKE SELECT,UPDATE,DELETE,INSERT ON mysql.user FROM luke@localhost;
Query OK, 0 rows affected (0.00 sec)可以看到,除了移除授權(quán)的命令(revoke)與授權(quán)命令(grant)不同之外,其余部分都是一致的。這不僅好記而且也容易理解。執(zhí)行移除授權(quán)命令后,再來查看賬戶luke的信息:
MariaDB [(none)]> SHOW GRANTS FOR luke@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for luke@localhost |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'luke'@'localhost' IDENTIFIED BY PASSWORD '*55D9962586BE75F4B7D421E6655973DB07D6869F' |
+-------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)出現(xiàn)問題?大膽提問!
因讀者們硬件不同或操作錯誤都可能導(dǎo)致實(shí)驗(yàn)配置出錯,請耐心再仔細(xì)看看操作步驟吧,不要?dú)怵H~
Linux技術(shù)交流請加A群:560843(滿),B群:340829(推薦),C群:463590(推薦),點(diǎn)此查看全國群。
*本群特色:通過口令驗(yàn)證確保每一個群員都是《Linux就該這么學(xué)》的讀者,答疑更有針對性,不定期免費(fèi)領(lǐng)取定制禮品。
網(wǎng)站題目:創(chuàng)新互聯(lián)linux教程:18.3管理用戶以及授權(quán)
分享地址:http://www.dlmjj.cn/article/dpphegd.html


咨詢
建站咨詢
