MYSQLチューニング
9813 ワード
PS: Dell R710, E5620、16G 。CentOS 5.6 64 ,MySQL 5.5.x 。 IP 50-100w,PV 100-300w , InnoDB 。 。
# MySQL 。
# MySQL 。
# MySQL 。
# MySQL 。
# [client] #password = [your_password]
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@
# *** ***# # MySQL
# [mysqld]
#
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@
# back_log ,
# MySQL .
# ”connection refused” ,
# . # .
# back_log , back_log = 300# TCP/IP .
# mysqld,
#
# mysqld Unix sockets .
# windows
# ( “enable-named-pipe” ) mysql !#skip-networking
# MySQL
# SUPER .
# .
max_connections = 3000# , .
# MySQL ”FLUSH HOSTS”
# .
# “Aborted_connects” .
max_connect_errors = 30# .
# mysqld
# [mysqld_safe] “open-files-limit” 4096
table_cache = 4096# .
# ( !)
# MyISAM
#external-locking
# ( BLOB )
# .
max_allowed_packet = 32M
# binlog SQL cache
# , , .
# binlog binlog
# , .
#
binlog_cache_size = 4M
# .
# . max_heap_table_size = 128M
# ORDER BY GROUP BY
# ,
#
# “Sort_merge_passes” .
# sort_buffer_size = 16M
# (full JOINs ).
# ,
# .
# “Select_full_join”
# ,
join_buffer_size = 16M
# cache
# , cache thread_cache_size,
# cache .
#
# ( , .)
thread_cache_size = 16# .
# thread_concurrency() ( Sun Solaris).
# [CPU ]*(2..4) thread_concurrency
thread_concurrency = 8# SELECT .
# , .
# “Qcache_lowmem_prunes” .
# : ,
# .
query_cache_size = 128M
#
# , .
query_cache_limit = 4M
# .
# , . # ,
# FULLTEXT
ft_min_word_len = 8# memlock() , mysql , swapping out#
#memlock
# ,
# ,
default_table_type = MYISAM
# . .
# MySQL 64K
# UDF
# ,
# .
thread_stack = 512K
# . :
# READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
transaction_isolation = REPEATABLE-READ
# ( )
# , .
# , .
tmp_table_size = 128M
# .
# (replication) , MASTER
# , .
log-bin=mysql-bin
# (A->B->C),
# B .
# , # .
#log_slave_updates
# . ( )
# . , .
#log
# log . MySQL
# log , .
#log_warnings
# . “long_query_time” .
# log_long_format , .
# . 。
log_slow_queries
# ( ) .
# ”1″, , ( MySQL ).
long_query_time = 6# . # .
#
log_long_format
# MySQL . ,
# , .
# .
# , swapfs/tmpfs
# .
# ”;”
# roud-robin .
#tmpdir = /tmp
# ***
# , 1 2^32-1 .
# master slave .
# “master-host” , 1, ,MySQL master .
server-id = 1# Slave ( master )
# # slave , :
# # 1) CHANGE MASTER TO ( ) -# :
# # CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,
# MASTER_USER=, MASTER_PASSWORD= ;
# # , , master ( 3306).
# # :
# # CHANGE MASTER TO MASTER_HOST=’125.56.12.1′, MASTER_PORT=3306, # MASTER_USER=’joe’, MASTER_PASSWORD=’secret’;
# #
# # 2) . , , ( ,
# master-password slave ),
# slave master.info ,
# master.info , slave , master.info slave .
# , ( ) CHANGE MASTER TO ( )
# # id 2 2^32 �C 1
# ( master )
# master-host . 2
# , #server-id = 2# # master �C #master-host =# # master slave �C
#master-user =# # master slave �C
#master-password =# # master .
# �C 3306
#master-port =# slave . SUPER slave .
# slave master
#read_only
#*** MyISAM
# , MyISAM .
# 30%,
# OS
# MyISAM , 8-64M . key_buffer_size = 128M
# MyISAM .
# , .
read_buffer_size = 8M
# , , .
# , ORDER BY .
#
read_rnd_buffer_size = 64M
# MyISAM cache
# ( ,INSERT … SELECT, INSERT … VALUES (…), (…), …, LOAD DATA
# INFILE) . .
# 0 .
# “key_buffer_size”.
# .
bulk_insert_buffer_size = 256M
# MySQL REPAIR, OPTIMIZE, ALTER LOAD DATA INFILE .
# . .
myisam_sort_buffer_size = 256M
# MySQL ( REPAIR, ALTER TABLE LOAD DATA INFILE).
# , ( )
myisam_max_sort_file_size = 10G
# , .
# .
myisam_max_extra_sort_file_size = 10G
# , MyISAM .
# CPU , . myisam_repair_threads = 1# MyISAM .
myisam_recover
# Federated skip-federated
# *** BDB ***# MySQL BDB . .
skip-bdb
# *** INNODB ***# MySQL InnoDB ,
# ,
#skip-innodb
# InnoDB metadata
# InnoDB , OS .
# , .
# SHOW INNODB STATUS .
innodb_additional_mem_pool_size = 64M
# InnoDB , MyISAM.
# , I/O .
# , 80%# , , .
# 32 2-3.5G ,
# .
innodb_buffer_pool_size = 6G
# InnoDB .
# , .
# . .
# InnoDB �C
innodb_data_file_path = ibdata1:10M:autoextend
# InnoDB .
# MySQL datadir .
#innodb_data_home_dir =# IO IO .
# Unix 4, Windows I/O .
innodb_file_io_threads = 4# InnoDB , .
# 1 .
#innodb_force_recovery=1# InnoDb .
# , . # .
innodb_thread_concurrency = 16# 1 ,InnoDB (fsync) ,
# ACID .
# , , 0 2 I/O # 0 .
# 2 , .
innodb_flush_log_at_trx_commit = 2 ( : , 2; , 1; 0 , , ! 1 (flush) , 。 (Battery backed up cache) 。 2 , MyISAM , 。 flush , 1-2 。 0 , , MySQL 。 2 。)
# InnoDB . InnoDB .
# , InnoDB .
#innodb_fast_shutdown
# .
# , InnoDB .
# , ( )
innodb_log_buffer_size = 16M
# .
# 25%~100%# .
# , . innodb_log_file_size = 512M
# .
# 2~3 .
innodb_log_files_in_group = 3# InnoDB . MySQL datadir.
# RAID1 #innodb_log_group_home_dir
# InnoDB .
# , InnoDB .
# , .
innodb_max_dirty_pages_pct = 90# InnoDB .
# # “fdatasync”, “O_DSYNC”.
#innodb_flush_method=O_DSYNC
# , InnoDB .
# InnoDB .
# LOCK TABLES , InnoDB
# InnoDB .
# timeout .
innodb_lock_wait_timeout = 120[mysqldump]
# . quick
max_allowed_packet = 32M
[mysql] no-auto-rehash
# UPDATEs DELETEs .
#safe-updates
[isamchk]
key_buffer = 2048M
sort_buffer_size = 2048M
read_buffer = 32M
write_buffer = 32M
[myisamchk]
key_buffer = 2048M
sort_buffer_size = 2048M
read_buffer = 32M
write_buffer = 32M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
# .
# : !#
open-files-limit = 8192