MySQL常见安全防护策略及故障排除语句

安全防护策略:

1.避免使用熟知的端口,降低被初级扫描的风险

编辑/etc/my.cnf文件,mysqld段落中配置新的端口参数,并重启mysql服务:

port=23806

2.禁用local_infile选项,降低攻击者通过SQL注入漏洞器读取敏感文件的能力

编辑Mysql配置文件/etc/my.cnf,在mysqld 段落中配置local-infile参数为0,并重启mysql服务:

local-infile=0

3.禁用符号链接以防止各种安全风险

编辑Mysql配置文件/etc/my.cnf,在mysqld 段落中配置symbolic-links=0

5.6及以上版本应该配置为skip_symbolic_links=yes,并重启mysql服务。

4.检查Mysql服务是否允许匿名登陆

登陆Mysql数据库,执行以下命令删除匿名帐户:

 delete from user where user='';
flush privileges;

5.当log-raw记录启用时,有权访问日志文件的人可能会看到纯文本密码。

编辑Mysql配置文件/etc/my.cnf

删除log-raw参数,并重启mysql服务

6.避免在主机名中只使用通配符,有助于限定可以连接数据库的客户端,否则服务就开放到了公网

执行SQL更新语句,为每个用户指定允许连接的host范围。

1. 登录数据库,执行use mysql; ;

2. 执行语句select user,Host from user where Host='%';查看HOST为通配符的用户;

3. 删除用户或者修改用户host字段,删除语句:DROP USER 'user_name'@'%'; 。更新语句:update user set host = <new_host> where host = '%';

4. 执行SQL语句:

OPTIMIZE TABLE user;
flush privileges;

7.启用错误日志可以提高检测针对mysql和其他关键消息的恶意尝试的能力

例如,如果错误日志未启用,则连接错误可能会被忽略。

编辑Mysql配置文件/etc/my.cnf,在mysqld_safe 段落中配置log-error参数,<log_path>代表存放日志文件路径,如:/var/log/mysqld.log,并重启mysql服务:

log-error=<log_path>

8.测试数据库可供所有用户访问,并可用于消耗系统资源。

删除测试数据库将减少mysql服务器的攻击面。

登陆数据库执行以下SQL语句删除test数据库:

DROP DATABASE test;
flush privileges;

9.使用最低权限帐户运行服务可减小MySQL天生漏洞的影响。

受限帐户将无法访问与MySQL无关的资源,例如操作系统配置。

使用非root和非sudo权限用户启动Mysql服务

故障排除语句:

1.查询单库下,所有表的空间占用

select table_name, (data_length/1024/1024) as data_mb , (index_length/1024/1024)   as index_mb, ((data_length+index_length)/1024/1024) as all_mb, table_rows   from information_schema.tables where table_schema = '库名';  

2.查询单独表的空间占用

select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB, concat(round(sum(index_length/1024/1024),2),'MB') as index_length_MB from tables where table_schema='库名' and table_name = '表名';

3.查看所有库的占用情况

select table_schema, sum(data_length+index_length)/1024/1024 as total_mb,   sum(data_length)/1024/1024 as data_mb, sum(index_length)/1024/1024 as index_mb,   count(*) as tables, curdate() as today from information_schema.tables group by table_schema order by 2 desc;  

4.删除数据以后,空间不会释放,需要整理一下碎片,现象是 表名.ibd文件不见缩小,表里已经没有数据。

 optimize table 表名;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值