安全相关配置参数

MYSQL有一些配置是和安全相关的,这些配置可以保证服务器更加的安全和可靠,可以避免一些无意义的数据插入

到数据库中,比如错误的日期数据,下面我们就来看一下这些配置有哪些作用,首先看到第一个参数呢,这个控制的

是bin_log自动删除的时间,间隔是以天为单位的,如果我们在启用了bin_log日志,就应该打开这个选项,这个就可以

让服务器在指定的天数之后呢,自动清理旧的二进制日志,以防止二进制日志占用太多的空间,最终把服务器空间耗尽

的情况,这个参数的设置呢,应该至少覆盖两次全备所间隔的天数,如果每天都进行全备的话,那至少把binlog保存7天

左右,以便一些特殊情况下呢,比如当数据库的数据出现异常的情况下呢,就可能使用到binlog来查询这些异常数据是如何产生的,

下面这个参数,是定义MYSQL定义最大包的大小,同时呢也会影响到一个用户,定义binlog最大的容量,对于这个参数呢,默认值来说

呢,可以说是太小了,我们需要把这个值调整的稍微大一些,比如32M,这样的大小,另外要注意的是,如果使用的是主从复制,那么

主从复制服务器关于这个参数的配置呢,最好是保持一致的,如果从上的配置呢小于主上的配置呢,那么就可能造成主从配置的

失败,下面这个参数是禁用DNS的查找,当连接服务器时,默认情况下,MYSQL会试图确定连接的数据库的客户端所使用主机的域名,

但是为了验证域名,MYSQL需要执行DNS的正向和反向查找,要是在DNS服务器出现问题的情况下呢,就会出现查询的丢精,最终会

导致连接的超时,为了避免这种情况的发生呢,强烈建议呢,大家启用这个选项,也就是在验证时呢,关闭DNS查找,但是呢也要

注意,我们启用这个参数的话,我们在使用用户授权时呢,就只能对特定的IP,或者是IP段,在本地HOST出现的域名,来进行授权了

sysdate_is_now这个参数呢,确保在调用sysdate()函数时呢,所返回的结果和调用now()返回的结果是一样的,

默认情况下面呢,在一个SQL语句中,多次调用,sysdate()函数可能会返回不一样的结果,这可能会造成意想不到的

后果,比如在基于段的主从复制中呢,会造成主从复制的不一致,从而使主从复制中断,所以建议大家在配置文件中

增加这个参数,接下来这个参数是readonly,这个选项建议大家在主从复制的从库中启用,他可以禁止任何没有super

权限的用户,在从库中执行数据变更的操作,只接受从主库中传输过来的数据变更,这个参数对于保证主从数据的

一致性呢,很有用,所以建议大家一定要在备库中启用这个参数,另外要说的就是,在给应用授权时呢,一定要注意,

不要授予super权限,否则这个参数将起不到任何的作用,还有一个参数就是skip_slave_start,这个参数也是使用在

主从复制结构中的,从库上的,他阻止MYSQL在重启以后,试图自动的启动复制,另外在一个不安全的崩溃或者其他的

问题后啊,自动启动复制呢,是不安全的,所以建议大家用启动

sql_model这个参数呢,用于设置MYSQL所使用的设置模式,在默认情况下,MYSQL对于语法的检查是非常宽松的,

我们在执行分组查询时,允许查询中所使用函数的列呢,不全部出现在group by从句中,这其实是不符合SQL规范的,

但是MYSQL对于这样的SQL并不会报错,如果我们更改了sql_model这个参数呢,可以使这样不正确的group by操作呢,

无法执行,所以如果想要修改sql_model,大家一定要谨慎,另外还很有可能会造成现在的程序无法运行,下面给大家

列出了一些常见的sql_model的选项,大家可以根据需要自己是否需要修改这个参数的值,首先我们来看第一个,在这种

sql_model下呢,如果给定的数据,不能插入到引擎中,则会中断当前操作,下一个就是保证在create table语句中,所指定

的存储引擎,不可用的情况下,不会使用默认存储引擎来建立表,这保证了我们在建表时,可以使用我们认为MYSQL所使用的

一种存储引擎,如果我们指定存储引擎是不可用的,这个表也不会建立成功,下一个就是no_zero_date,在严格的SQL模式下,

不能把0年0月0日的日期写入到表中的日期字段上,与此相关的还有一个叫no_zero_in_date,和上面的这个类似,在严格的

SQL模式下,不接受部分日期为0的日期,在接下来就是这个,only_full_group_by,这个就是我们上面例子中所说到的,使用了

这个模式要求在分组查询中呢,group by把所有的聚合函数的列要全部列出来,否则SQL语句就是不能执行,下面介绍的只是

MYSQL众多sql_model选项中的少数几个比较常用的,那么在这里还是建议大家不要轻易的来改用在生产环境中的sql_model值,

以免造成应用程序出错的问题

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值