一站式下载学习分享平台 友情链接

网站首页 源码插件 正文

禁止MySQL root远程访问

皮皮娃学习网 2020-07-13 源码插件 29 ℃ 0 评论

百度云观测提示云上小悟存在一个安全漏洞:

漏洞描述

MySQL,3306端口,内部敏感服务对外开放存在风险,容易引起安全问题

影响版本

漏洞等级

中危

修复方案

关闭远程访问或限制访问该服务的IP地址

本文说明解决这个问题的一部分,即禁止root用户远程访问。

回忆一下安装wordpress网站的时候,我们是如何建立数据库的。皮皮娃使用如下SQL语句:

create database abcd;

grant all on abcd.* to joe@localhost identified by '123456';

flush privileges;

exit;

这几句SQL语句的意思是:

1, 创建abcd数据库(一个MySQL服务器中可以创建很多不同的数据库);

2, 将abcd数据库的所有权限赋给joe用户,限制在localhost上,并这是joe用户的密码123456;

3, 刷新并退出。

更多wordpress建站常用的SQL语言,请参考:玩wordpress,应知应会的SQL语言!!

这里面我么漏掉了一个重要细节,MySQL数据库默认有一个root用户,虽然我们给root用户(MySQL)设置了密码,但是还需要禁止root用户的远程访问权限。

草根站长(比如皮皮娃)的网站一般情况只需要本地访问MySQL数据库,因此不需要远程访问,本地访问即可。

如何禁止MySQL root用户远程访问权限

使用如下SQL语句,即可实现关闭MySQL root用户远程访问权限的效果:

use mysql;

update user set host = "localhost" where user = "root" and host = "%";

flush privileges;

这几句SQL的解释如下:

1, 切换到mysql数据库(这是MySQL自带的一个数据库,里面存放着一些root的配置信息);

2, 修改root用户的host属性,确保其为localhost,这表示只能本地访问(%表示可以远程访问);

3, 刷新。

如何打开MySQL root用户的远程访问权限

把上面的SQL语句的设置反过来即可:

use mysql;

update user set host = "%" where user = "root";

flush privileges;

最后,设置好了以后,要重启MySQL进程。

2017-09-04:

以上方法要明确一下,只是限制root用户只能本地访问,并没有关闭3306端口。因此各类网络安全监测工具还是会提示3306端口开放。

关闭MySQL的3306端口,请参考:关闭MySQL的3306端口

本文标题:禁止MySQL root远程访问
本文链接:https://www.ppwxxw.com/post/295.html
作者授权:除特别说明外,本文由 皮皮娃学习网 原创编译并授权 皮皮娃学习网 刊载发布。
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。

Tags:LinuxSEO教程SEO优化

< 皮皮娃学习网 >
如有密码均为:ppwxxw.com
天若有情天亦老、人间正道是沧桑
本站资源软件和源码 文章大部分为网上收集,如侵犯您的权利,请告知管理员,我们会及时删除,感谢理解.

站长邮箱:ppwxxw@ppwxxw.com

本文暂时没有评论,来添加一个吧(●'◡'●)


取消回复欢迎 发表评论:

搜索
网站分类
最新文章
标签