Centos 下mysql my.cnf参数

# 客户端参数

[client]

#设置默认字符集格式

default_character_set=utf8

[mysql]

default_character_set=utf8

#服务端参数

[mysqld]

#设置默认字符集格式

character_set_server=utf8                                                

bind_address=127.0.0.1                            

port=3306    

                                  

basedir=/usr/local/XXX/XX/db/                         

datadir=/usr/local/XXX/XX/db/data/                         

user=mysql                                     

log_error=/var/log/XXX/XX/mysql-error.log        

# 记录慢速查询. 慢速查询是指消耗了比 “long_query_time” 定义的更多时间的查询.
# 如果 log_long_format 被打开,那些没有使用索引的查询也会被记录.
# 如果你经常增加新查询到已有的系统内的话. 一般来说这是一个好主意,log_slow_queries

# 所有的使用了比这个时间(以秒为单位)更多的查询会被认为是慢速查询.

# 不要在这里使用”1″, 否则会导致所有的查询,甚至非常快的查询页被记录下来(由于MySQL 目前时间的精确

#度只能达到秒的级别).     

long_query_time=2                               

slow_query_log_file=/var/log/XXX/XX/mysql-slow.log  

default_storage_engine=InnoDB  

#每个进程可以打开文件的数量,确保系统的限制设置比该值高

open_files_limit=65535

# back_log 是操作系统在监听队列中所能保持的连接数,
# 队列保存了在MySQL连接管理器线程处理之前的连接.
# 如果你有非常高的连接率并且出现”connection refused” 报错,
# 你就应该增加此处的值.
# 检查你的操作系统文档来获取这个变量的最大值.
# 如果将back_log设定到比你操作系统限制更高的值,将会没有效果

back_log=600

# MySQL 服务所允许的同时会话数的上限
# 其中一个连接将被SUPER权限保留作为管理员登录.
# 即便已经达到了连接数的上限.

#如果show  variables like '%max_connections%' 查询值小于设置值

#在/usr/lib/systemd/system/mysql.server 最后添加LimitNOFILE=10000  LimitNPROC=10000

max_connections=500

# 服务所能处理的请求包的最大大小以及服务所能处理的最大的请求大小(当与大的BLOB字段一起工作时相

#当必要)
# 每个连接独立的大小.大小动态增加

max_allowed_packet=32M

# 服务所能处理的请求包的最大大小以及服务所能处理的最大的请求大小(当与大的BLOB字段一起工作时相

#当必要)
# 每个连接独立的大小.大小动态增加

sort_buffer_size=256K

# 此缓冲被使用来优化全联合(full JOINs 不带索引的联合).
# 类似的联合在极大多数情况下有非常糟糕的性能表现,
# 但是将此值设大能够减轻性能影响.
# 通过 “Select_full_join” 状态变量查看全联合的数量
# 当全联合发生时,在每个线程中分配

join_buffer_size=256K

# 我们在cache中保留多少线程用于重用
# 当一个客户端断开连接后,如果cache中的线程还少于thread_cache_size,
# 则客户端线程被放入cache中.
# 这可以在你需要大量新连接的时候极大的减少线程创建的开销
# (一般来说如果你有好的线程模型的话,这不会有明显的性能提升.)

thread_cache_size=64

# MyISAM 使用特殊的类似树的cache来使得突发插入
# (这些插入是,INSERT … SELECT, INSERT … VALUES (…), (…), …, 以及 LOAD DATA
# INFILE) 更快. 此变量限制每个进程中缓冲树的字节数.
# 设置为 0 会关闭此优化.
# 为了最优化不要将此值设置大于 “key_buffer_size”.
# 当突发插入被检测到时此缓冲将被分配.

bulk_insert_buffer_size=8M

# 用来做MyISAM表全表扫描的缓冲大小.
# 当全表扫描需要时,在对应线程中分配.

read_buffer_size=256K

# 当在排序之后,从一个已经排序好的序列中读取行时,行数据将从这个缓冲中读取来防止磁盘寻道.
# 如果你增高此值,可以提高很多ORDER BY的性能.
# 当需要时由每个线程分配

read_rnd_buffer_size=256K

# 此允许应用程序给予线程系统一个提示在同一时间给予渴望被运行的线程的数量.
# 此值只对于支持 thread_concurrency() 函数的系统有意义( 例如Sun Solaris).
# 你可可以尝试使用 [CPU数量]*(2..4) 来作为thread_concurrency的值

thread_concurrency=8

query_cache_size=8M

query_cache_limit=512K

query_cache_min_res_unit=2k

thread_stack=128K

transaction_isolation=READ-COMMITTED

tmp_table_size=256M

max_heap_table_size=32M

long_query_time=2

key_buffer_size=8M

lower_case_table_names=1

innodb_buffer_pool_size=128M

innodb_thread_concurrency=4

innodb_flush_log_at_trx_commit=2

innodb_log_buffer_size=16M

innodb_log_file_size=128M

innodb_log_files_in_group=3

innodb_lock_wait_timeout=120

innodb_file_per_table=1

skip-name-resolve

[mysqldump]                                     

quick                                           

max_allowed_packet=32M

猜你喜欢

转载自lianpeng0011.iteye.com/blog/2350809