MySQL 5.6 创建用户名+修改密码+限制IP地址登录

478 阅读1分钟

MySQL的3306端口默认不允许通过远程IP地址访问。

对于开发测试环境下可以适当放松IP地址限制,例如允许从局域网 192.168.*.* 网段内的IP地址访问MySQL数据库,命令如下:

grant all on *.* to 'root'@'192.168.%.%';

update mysql.user set password=password('alpha.netcore') where user='root' and host='192.168.%.%';

FLUSH PRIVILEGES;

对于开发测试环境下(非生产环境)可以添加一个admin用户并开放3306端口,只允许该用户从局域网192.168.*.*网段内的IP地址访问MySQL数据库,例子如下:

CREATE USER admin@'192.168.%.%';

grant all on *.* to 'admin'@'192.168.%.%' WITH GRANT OPTION;
grant all on *.* to 'admin'@'localhost' WITH GRANT OPTION;

update mysql.user set password=password('alpha.netcore') where user='admin' and host='192.168.%.%';
update mysql.user set password=password('alpha.netcore') where user='admin' and host='localhost';

FLUSH PRIVILEGES;

查看权限分配

show grants for admin@'192.168.%.%';

+-------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for admin@192.168.%.%                                                                                                              |
+-------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'admin'@'192.168.%.%' IDENTIFIED BY PASSWORD '*A97EEA74B5168DD0C389DE065964CC551FFAFAC7' WITH GRANT OPTION |
+-------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

查看用户列表

select user,host from mysql.user;

+--------+-------------+
| user   | host        |
+--------+-------------+
| root   | 127.0.0.1   |
| admin  | 192.168.%.% |
| root   | ::1         |
| root   | localhost   |
+--------+-------------+
6 rows in set (0.00 sec)

局域网192.168网段登录时可以修改数据库内容,非局域网登录则不能修改。