mysql 公网_mysql对公网可以访问,导致被攻击

因为最近mysql不知道什么原因,莫名的挂掉,mysql为了方便,在公网是可以访问的

最直接的表面现象,文件系统变为只读文件,mysql进程退出,重启服务器,一般就能启动mysql服务。

查看了下系统日志,发现有mysqld挂起状态。

查看mysql的错误日志,发现大量的下列日志:

2016-06-25 12:06:55 1500 [Warning] IP address '45.34.191.138' could not be resolved: Temporary failure in name resolution

针对这种情况,网上给出了解决方法:

1、修改配置文件

可以通过两个参数来disable这个功能,在MYSQL的配置文件中[mysqld]中加入下面的参数:

[mysqld]

--skip-host-cache

--skip-name-resolve

重新授权,将所有访问数据库服务器的授权方式都改成IP形式的。

grant all on *.* to ‘root’@’172.16.12.68’identified by ‘123456’;

2、添加授权。

将所有访问数据库服务器的授权方式都改成IP形式。

不同的用户用不同的用户名和密码。

grant all on *.* to ‘user_68’@’172.16.12.68’identified by ‘pwd_68’;

grant all on *.* to ‘user_67’@’172.16.12.67’identified by ‘pwd_67’;

....

然后去 mysql数据库下面的 user表  和db表 下面删除掉那些含有含有主机名字的权限记录。

我的情况不适合网上所说方法,我的数据库只在本机所用,所以使用下面的方法:

1,在【mysqld】添加bind_address=127.0.0.1

2,防火墙屏蔽掉3306端口。

对于需要使用网络访问数据库服务器的,可以参考网上解决方法试着解决。


版权声明:本文为weixin_31417633原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。