问题
需要新增一个MySQL的用户,希望可以在某个IP地址段(例如192.168.1.* 或者172.16.0.0/12)来访问MySQL服务器
实现
- 创建用户 CREATE USER
- 给用户赋权限 GRANT
CREATE USER创建用户和GRANT ALL权限命令现在是可以支持子网的,
@后面跟着地址段/子网,可以以下两种方式:
- @'%' 表示允许全部 (不建议!!!)
- @'192.168.1.0/255.255.255.0' 注意,不能是这么写: @'192.168.1.0/24' (本人已测试)
- @'192.168.1.%' 表示192.168.1.x的都可以访问
- @'192.168.1.123' 指定特定的IP地址才可以访问
来看例子:
-- 192.168.1.0/24 网段xxxuser用户都可以访问MySQL CREATE USER 'xxxuser'@'192.168.1.0/255.255.255.0' IDENTIFIED BY 'xxxpassword'; GRANT ALL ON *.* TO 'xxxuser'@'192.168.1.0/255.255.255.0'; -- 如果172.16.0.0/12网段 就是:172.16.0.0/172.31.255.255 -- 或者这么写: CREATE USER 'xxxuser'@'192.168.1.%' IDENTIFIED BY 'xxxpassword'; GRANT ALL ON *.* TO 'xxxuser'@'192.168.1.%'; -- 全部IP段都可以访问,不建议这么做!!! CREATE USER 'xxxuser'@'%' IDENTIFIED BY 'xxxpassword'; GRANT ALL ON *.* TO 'xxxuser'@'%'; -- 给某一个IP的user授权 CREATE USER 'xxxuser'@'192.168.5.123' IDENTIFIED BY 'xxxpassword'; GRANT ALL ON *.* TO 'xxxuser'@'192.168.5.123'; -- 查看系统中的用户 SELECT user,host FROM mysql.user;
文章评论