标题索引


  • 官方帮助

  • 常用案例


官方帮助

    在使用数据库时必不可少的即是查看help帮助,通过help帮助再次寻找常用命令及参数,如下为help grant信息:

MariaDB [(none)]> help grant;
Name: 'GRANT'
Description:
Syntax:
GRANT
    priv_type [(column_list)]
      [, priv_type [(column_list)]] ...
    ON [object_type] priv_level
    TO user_specification [, user_specification] ...
    [REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}]
    [WITH with_option ...]

GRANT PROXY ON user_specification
    TO user_specification [, user_specification] ...
    [WITH GRANT OPTION]

object_type:
    TABLE
  | FUNCTION
  | PROCEDURE

priv_level:
    *
  | *.*
  | db_name.*
  | db_name.tbl_name
  | tbl_name
  | db_name.routine_name
user_specification:
    user
    [
        IDENTIFIED BY [PASSWORD] 'password'
      | IDENTIFIED WITH auth_plugin [AS 'auth_string']
    ]
Normally, a database administrator first uses CREATE USER to create an
account, then GRANT to define its privileges and characteristics. For
example:

CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';
GRANT ALL ON db1.* TO 'jeffrey'@'localhost';
GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost';
GRANT USAGE ON *.* TO 'jeffrey'@'localhost' WITH MAX_QUERIES_PER_HOUR 90;

常用配置

    1.授权单位普通DBA或运维人员增删改查命令

MariaDB [(none)]> create table performance( id int, server_name varchar(20), Adress_City varchar(30) );
MariaDB [(none)]> grant select,update,delete,insert on cluster.performance to root@'172.18.0.%' identified by 'jncsy';
Query OK, 0 rows affected (0.00 sec)
MariaDB  [(none)]> flush privileges;

    2.授权某个用户某张表的某几列查询命令

MariaDB [(none)]> grant select(id,server_name) on cluster.performance to root@'172.18.0.%' identified by 'jncsy';
Query OK, 0 rows affected (0.00 sec)
MariaDB  [(none)]> flush privileges;

    3.撤销某用户的授权权限

MariaDB [(none)]> show grants for root@'172.18.0.%';
+--------------------------------------------------------------------------------------------------------------+
| Grants for root@172.18.0.%                                                                                   |
+--------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'root'@'172.18.0.%' IDENTIFIED BY PASSWORD '*429B3FB345D35EC8C8B54230AD060C07E846494A' |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `cluster`.`performance` TO 'root'@'172.18.0.%'                       |
+--------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
MariaDB [(none)]> revoke select on cluster.performance from root@'172.18.0.%';
Query OK, 0 rows affected (0.00 sec)