MySQL的经典用法(十四)----高级优化
基于
/application/search/mysql/mysql-5.5.28/support-files/my-innodb-heavy-4G.cnf
二次优化
【删除--如果不使用主从同步】注释,去除无用日志文件
# log-bin=mysql-bin
# binlog_format=mixed
【修改链接】
# 最大链接值从100增加到512
max_connections = 512
# 错误链接从10改到100
max_connect_errors = 100
【修改线程数】
# CPU逻辑线程数的2-4倍,我们搭载的CPU为8核心 × 2
thread_concurrency = 32
【设置默认引擎】
default-storage-engine=INNODB
【修改innodb的内存】
# 从2G改为16G,157原先的是128M
innodb_buffer_pool_size = 16G
【修改日志文件】
# 每秒刷新一次日志和磁盘设置为0,实时刷新日志文件和磁盘数据设置为1,每次写入日志,每秒刷新一次磁盘设置2
innodb_flush_log_at_trx_commit = 0
# 日志文件从256M改为1G
innodb_log_file_size = 1G
【修改日志文件位置,pid的位置】方便物理文件冷拷贝
# pid的位置,增加
pid-file=/application/search/mysql/mysql-5.5.30/tmp/mysqld.pid
# binlog的位置,/data0/search/mysql_binlog目录要提前手工建立
log-bin=/data0/search/mysql_binlog/mysql-bin
# 慢查询日志位置,增加
log-slow-queries=/data0/search/mysql_log/slow_query.log
# 定义中继日志的位置和文件名
relay_log=/data0/search/mysql_log/mysql-relay-bin
# 使从服务器把复制的事件记录到自己的二进制日志中
log_slave_updates=1
【编码与数据文件】
[mysql]
default-character-set=utf8
[mysqld]
datadir = /data0/search/mysql_data
character-set-server=utf8
【innodb分开数据文件】
innodb_file_per_table=1
【自动删除binlog】
设置自动清理MySQL binlog日志,配置my.cnf:
expire_logs_days = 10
【非关键故障排除】
could not be resolved: Temporary failure in name resolution
在mysql的配置文件my.cnf中
[mysqld]
节点添加下面两行
skip-host-cache
skip-name-resolve