設置用戶權限:
格式:
grant 權限列表 on 數據庫名.表名 to '用戶名'@'來源地址' identified by '密碼';
* 權限列表:用於列出授權的各種數據庫操作,通過逗號進行分割,如:select,insert,update等,all表示所有權限,可以執行任意操作。
* 庫名.表名:用於指定授權操作的數據庫和表的名稱,可以使用通配符(*)表示所有。
* 用戶名@來源地址:用於指定用戶和允許訪問的客戶機地址;來源地址可以是IP地址,域名,%通配符表示所有。(但不能表示localhost)
mysql通配符:
* _:任意單個字符 192.168.200._
* _:任意長度的任意字符 192.168.200.%
案例:
MariaDB [(none)]> create database student;
Query OK, 1 row affected (0.01 sec)
MariaDB [(none)]> use student
Database changed
MariaDB [student]> create table users (user_name char(20) not null, user_passwd char(50),primary key (user_name));
Query OK, 0 rows affected (0.01 sec)
MariaDB [student]> insert into users values ('zhangsan',password('111111')),('lisi',password('222222'));
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0
MariaDB [student]> select * from users;
+-----------+-------------------------------------------+
| user_name | user_passwd |
+-----------+-------------------------------------------+
| lisi | *A0C1808B1A47CECD5C161FEE647F5427F4EB6F98 |
| zhangsan | *FD571203974BA9AFE270FE62151AE967ECA5E0AA |
+-----------+-------------------------------------------+
2 rows in set (0.00 sec)
MariaDB [student]> grant select,insert on student.users to 'root'@'%' identified by '111222';
Query OK, 0 rows affected (0.00 sec)
MariaDB [student]> flush privileges; //刷新授權表
Query OK, 0 rows affected (0.00 sec)
MariaDB [student]> exit
Bye
查看用戶權限:
show grants;
show grants for '用戶名'@'來源地址';
撤銷用戶權限:
revoke 權限名 on 數據庫名.表名 from '用戶名'@'來源地址';
