阿里云RDS-MYSQL数据库参数设置

2016.9.2
最近被数据库要搞疯掉了
取消myisam引擎,都换成innodb
总是主备切换,也没有错误日志

看了看参数设置,很多都不知道
这两天有时间自己搜索整理了下
发给大家,有需要的看看
我的服务器应用主要是WEB网站服务

有一些不懂的地方或者不对的地方,还请大牛不吝赐教!
回复在评论中就可以了,thank you

auto_increment_offset表示自增长字段从那个数开始,他的取值范围是1 .. 65535

auto_increment_increment表示自增长字段每次递增的量,其默认值是1,取值范围是1 .. 65535

back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。
也就是说,如果MySql的连接数据达到max_connections时,新来的请求将会被存在堆栈中,以等待某一连接释放资源,该堆栈的数量即back_log,如果等待连接的数量超过back_log,将不被授予连接资源。
将会报:unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL 的待连接进程时. 
back_log值不能超过TCP/IP连接的侦听队列的大小。若超过则无效,查看当前系统的TCP/IP连接的侦听队列的大小命令:cat /proc/sys/net/ipv4/tcp_max_syn_backlog目前系统为1024。
对于Linux系统推荐设置为小于512的整数。
修改系统内核参数,查看mysql 当前系统默认back_log值, 查看当前数量命令:show variables like 'back_log';
我给了3000

binlog_cache_size (global)默认即可
Binlog Cache 用于在打开了二进制日志(binlog)记录功能的环境,是 MySQL 用来提高binlog的记录效率而设计的一个用于短时间内临时缓存binlog数据的内存区域。
一般来说,如果我们的数据库中没有什么大事务,写入也不是特别频繁,2MB~4MB是一个合适的选择。但是如果我们的数据库大事务较多,写入量比较大,可与适当调高binlog_cache_size。同时,我们可以通过binlog_cache_use 以及 binlog_cache_disk_use来分析设置的binlog_cache_size是否足够,是否有大量的binlog_cache由于内存大小不够而使用临时文件(binlog_cache_disk_use)来缓存了。
Binlog_cache_use 显示 事务的数量被用于这个buffer(也可能是临时文件)用于存储语句。 
Binlog_cache_disk_use 显示多少的事务数 必须得使用临时文件 
这两个变量能用于调整binlog_cache_size 到一个足够大的值来避免使用临时文件 
mysql> show status like 'binlog_%'; 

原文链接

猜你喜欢

转载自blog.csdn.net/weixin_40581617/article/details/81561521