创建一个新的用户 并授予权限:
该用户可以访问test数据库的所有表。但是只能从指定ip(主机)访问
mysql> grant all on test.* to 'admin'@'172.72.101.42' identified by '123';
Query OK, 0 rows affected (0.00 sec)
查看指定用户的权限 show grants
mysql> show grants for admin@172.72.101.42;
+------------------------------------------------------------------------------------------------------------+
| Grants for admin@172.72.101.42 |
+------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'admin'@'172.72.101.42' IDENTIFIED BY PASSWORD '*23A....A265E05AA257' |
| GRANT ALL PRIVILEGES ON `test`.* TO 'admin'@'172.72.101.42' |
+-----------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
===============================
但是在使用 admin 创建 表的时候却抛出如下error。 本机 ip 与 host名 “转换” 了???
解决办法:
C:/WINDOWS/system32/drivers/etc
下面有一个 hosts 文件: 添加一下主机与ip的映射
172.72.101.42 MS135129
mysql> create table test.user (username varchar(20), password varchar(20));
ERROR 1142 (42000): CREATE command denied to user 'admin'@'MS135129' for table '
user'
===============================
删除 用户:
drop user admin@'172.72.101.42'