我可以使用以下代码轻松授予对一个IP的访问权限:

$ mysql -u root -p
Enter password:    
mysql> use mysql    
mysql> GRANT ALL ON *.* to root@'192.168.1.4' IDENTIFIED BY 'your-root-password';     
mysql> FLUSH PRIVILEGES;

但我需要允许整个子网192.168.1.*远程访问数据库.

我该怎么做?

推荐答案

编辑:考虑在这个页面上查看和投票Malvineous的答案.网络掩码是一个更优雅的解决方案.


只需在IP地址中使用百分号作为通配符.

http://dev.mysql.com/doc/refman/5.1/en/grant.html

可以在主机名中指定通配符.例如,对于example.com域中的任何主机,user_name@'%.example.com'适用于user_name,对于192.168.1 C类子网中的任何主机,user_name@'192.168.1.%'适用于user_name.

Mysql相关问答推荐

AWS RDS上的MySQL复制错误:超级权限或REPLICATION_SLAVE_ADMIN权限的访问被拒绝

根据时间戳分组删除

使用 presto 或 mysql 添加每个组中的缺失值

使用 awk 重写 maxscale 过滤器

MySQL - 密码哈希没有预期的格式

Golang中使用Gorm的Where条件转义字符无法正常工作的问题

发生的原因及解决方法

使用mysql查询获取不关注user1的user3

如何计算具有权重属性的记录数

MySQL Procedure 变量在 count(*) 上接收 null

MySql部分匹配基于部分查询代码

了解 Spring 和数据库级别的事务?

使用case查询并更新最后一条记录

MariaDB 下的慢速更新、删除和插入查询

试图获取非对象的属性

主键应该始终是无符号的?

mysql错误:错误1018(HY000):无法读取'.'的目录(错误号:13)

索引和多列主键

如何为 php 启用 mysqlnd?

从mysql中的大表中快速 Select 随机行