今天发现很多同事用root账户登录公司数据库,感觉这样实在太不安全,所以决定把mysql数据库的root用户关闭,mysql只允许某个ip段访问。

因为我们的项目是k8s集群,所以每个服务的ip并不固定,但是都在同一个10.22.0.%这样一个ip段内,所以可以把root用户控制在这个ip段内给予访问权限就可以了。具体的做法如下。

第一、用navicat工具

用工具是很快的,

修改mysql账户访问ip段

把这个地方的ip,改成ip段 10.244.0.% 就可以了,这样外网就无法通过root来访问了。

第二、使用命令。使用命令的话,需要

GRANT ALL PRIVILEGES ON *.* TO root@'10.244.0.%' IDENTIFIED BY 'root' WITH GRANT OPTION;

或 
GRANT ALL PRIVILEGES ON *.* TO root@'10.244.%.%' IDENTIFIED BY 'root' WITH GRANT OPTION;

方法二中,两个%,可以匹配更多的ip值。

因为日常工作中,数据库非常重要,可以说是重中之重,所以一定要保护好数据的安全,经常备份,还有就是开启binlog日志也很重要,即使进行数据库的管理。这样我们手里有了数据,才能更好的工作。因为把root账号设置为只有内网访问也很重要。以上就是mysql只允许某个ip段访问的方法,希望能有帮助。