99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

18.3 管理用戶以及授權(quán)

2022-06-01 16:21 更新

在生產(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 用戶名@主機名 IDENTIFIED BY '密碼'; ”的格式創(chuàng)建數(shù)據(jù)庫管理賬戶。再次提醒大家,一定不要忘記每條數(shù)據(jù)庫命令后面的分號(;)。

    MariaDB [(none)]> CREATE USER luke@localhost IDENTIFIED BY 'linuxprobe';
    Query OK, 0 rows affected (0.00 sec)

創(chuàng)建的賬戶信息可以使用select命令語句來查詢。下面命令查詢的是賬戶luke的主機名稱、賬戶名稱以及經(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)中當前都有哪些數(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)所使用的命令一般都比較復雜。我們以grant命令為例進行說明。grant命令用于為賬戶進行授權(quán),其常見格式如表18-1所示。在使用grant命令時需要寫上要賦予的權(quán)限、數(shù)據(jù)庫及表單名稱,以及對應(yīng)的賬戶及主機信息。其實,只要理解了命令中每個字段的功能含義,也就不覺得命令復雜難懂了。

表18-1 GRANT命令的常見格式以及解釋

命令 作用
GRANT 權(quán)限 ON 數(shù)據(jù)庫.表單名稱 TO 用戶名@主機名 對某個特定數(shù)據(jù)庫中的特定表單給予授權(quán)
GRANT 權(quán)限 ON 數(shù)據(jù)庫.* TO 用戶名@主機名 對某個特定數(shù)據(jù)庫中的所有表單給予授權(quán)
GRANT 權(quán)限 ON . TO 用戶名@主機名 對所有數(shù)據(jù)庫及所有表單給予授權(quán)
GRANT 權(quán)限1,權(quán)限2 ON 數(shù)據(jù)庫.* TO 用戶名@主機名 對某個數(shù)據(jù)庫中的所有表單給予多個授權(quán)
GRANT ALL PRIVILEGES ON . TO 用戶名@主機名 對所有數(shù)據(jù)庫及所有表單給予全部授權(quán)(需謹慎操作)

當然,賬戶的授權(quán)工作肯定是需要數(shù)據(jù)庫管理員來執(zhí)行的。下面以root管理員的身份登錄到數(shù)據(jù)庫管理系統(tǒng)中,針對mysql數(shù)據(jù)庫中的user表單向賬戶luke授予查詢、更新、刪除以及插入等權(quán)限。

劉遄老師特別懂同學們現(xiàn)在心里想的是什么~哈哈,我起初也覺得在每條數(shù)據(jù)庫命令后都要加上;(分號)來結(jié)束特別的不方便,時常還會忘記,但敲的命令多了也就自然習慣了。授權(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

大家不要心急,我們接下來會慢慢學習數(shù)據(jù)庫內(nèi)容的修改方法。當前,先切換回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)問題?大膽提問!

因讀者們硬件不同或操作錯誤都可能導致實驗配置出錯,請耐心再仔細看看操作步驟吧,不要氣餒~

Linux技術(shù)交流請加A群:560843(滿),B群:340829(推薦),C群:463590(推薦),點此查看全國群。

*本群特色:通過口令驗證確保每一個群員都是《Linux就該這么學》的讀者,答疑更有針對性,不定期免費領(lǐng)取定制禮品。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號