返回顶部

收藏

mysql性能优化:配置文件my.cnf的优化

更多

以下优化是基于mysql/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 = 16

四. 设置默认引擎

default-storage-engine=INNODB

五. 修改innodb的内存

# 修改为数据库服务器内存的50%到80%
innodb_buffer_pool_size = 16G

六. 修改日志文件

# 每秒刷新一次日志和磁盘设置为0,实时刷新日志文件和磁盘数据设置为1,每次写入日志,每秒刷新一次磁盘设置2
innodb_flush_log_at_trx_commit = 0

# 日志文件从256M改为1G
innodb_log_file_size = 1G

七. 修改日志文件位置,pid的位置方便物理文件冷拷贝

# binlog的位置,/data0/search/mysql_binlog目录要提前手工建立
log-bin=/data0/search/mysql_binlog/mysql-bin

# pid的位置,增加
pid-file=/application/search/mysql/mysql-5.5.30/tmp/mysqld.pid

# 满查询日志位置,增加
log-slow-queries=/data0/search/mysql_log/slow_query_log.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

标签:mysql,性能优化,INNODB

收藏

0人收藏

支持

1

反对

0

发表评论