innodb_flush_log_at_trx_commit (这个很管用)
(部署时:(不需重启,重启后失效)
执行1:set GLOBAL thread_cache_size=512;
执行2:set GLOBAL innodb_flush_log_at_trx_commit=2;
修改配置文件my.cnf(需重启,不重启不生效)
innodb_flush_log_at_trx_commit=2
thread_cache_size=512)
innodb_log_buffer_size
默认值对于多数中等写操作和事务短的运用都是可以的。如 果经常做更新或者使用了很多blob数据,应该增大这个值。但太大了也是浪费内存,因为1秒钟总会 flush(这个词的中文怎么说呢?)一次,所以不需要设到超过1秒的需求。8M-16M一般应该够了。小的运用可以设更小一点。
其他配置,加入:
innodb_buffer_pool_size = 6G
max_connections=3000
innodb_flush_log_at_trx_commit=2
thread_cache_size=512
innodb_log_file_size=536870912
innodb_log_buffer_size=67108864
basedir =/usr/local/mysql
binlog_format=MIXED
备注:
log-bin-trust-function-creators=1
innodb_buffer_pool_size = 6G
max_connections=3000
innodb_flush_log_at_trx_commit=2
thread_cache_size=512
innodb_log_file_size=536870912
innodb_log_buffer_size=67108864
basedir =/usr/local/mysql
如果修改
innodb_log_file_size
导致无法正常查询数据据
则
打开/var/lib/mysql
删除ib_logfile0, ib_logfile1........ib_logfilen
再开启选项,成功启动。