标题索引


  • 官方帮助

  • 常用案例


官方帮助

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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或运维人员增删改查命令

1
2
3
4
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.授权某个用户某张表的某几列查询命令

1
2
3
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.撤销某用户的授权权限

1
2
3
4
5
6
7
8
9
10
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.%'                        |
+ --------------------------------------------------------------------------------------------------------------+
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)