[client]
#passwd = your_passwd
port = 3306
socket = /data/mysql/mysql.sock
[mysqld]
#global settings
port = 3306
socket = /data/mysql/mysql.sock
basedir=/usr/local/mysql
tmpdir=/data/mysql
datadir=/data/mysql
pid-file=/data/mysql/rongzhong.pid
#跳過外部鎖定 只對MyISAM
skip-external-locking
#禁用tcp socket連接,只能使用unix/linux socket連接
skip_networking
#禁用DNS解析,提高連接速度
skip_name_resolve
#跳過授權表,忘記root密碼時使用
#skip-grant-tables
#默認存儲引擎
#default-storage-engine=MyISAM/INNODB
#默認字符集
character_set_server=utf8
#最大連接數
max_connections=20480
#最大單用戶連接數
max_user_connections=1024
#服務器關閉一個交互連接前等待的秒數,默認28800
interactive_timeout=7200
#線程緩存數,直接利用空閒連接來創建新連接,1G —> 8 2G —> 16 3G —> 32 >3G —> 64
#短連接較多的情況下可以適當增加該值
thread_cache_size=64
#單個線程(連接)進行數據排序(eg: order/group by)時的buffer,連接創建時一次性分配,默認2M,當 Sort_merge_passes較大時可增加該值
sort_buffer_size=2M
#對沒有索引的表進行join操作時的buffer,默認256K,連接創建時一次性分配
join_buffer_size=262144
#指定連接偵聽隊列的大小,該值超過OS的tcp_max_syn_backlog/somaxconn時無效,推薦設置為小於512的整數
back_log=512
#table_open_cache中歲多能打開的表數
table_open_cache = 256
#一次消息傳輸量的最大值,是net_buffer_length的最大值
max_allowed_packet=8M
#bin-log
#打開二進制日志
log-bin=mysql-bin
log-bin-index=mysql-bin.index
#日志格式,可選row/statement/mixed,默認statement,推薦mixed
binlog_format=mixed
#一個binlog的最大值
max_binlog_size=1G
#對單個連接的binlog緩存大小,默認1M
binlog_cache_size=2M
#binlog cache的總大小
max_binlog_cache_size=2G
#sync_binlog may be 0 or 1
#binlog是否進行磁盤同步,為0時交給OS,為1:事物結束立即同步,IO損耗大
sync_binlog=0
#slow-log
#開啟slow log
slow-query-log=1
#指定慢查詢的時長
long-query-time=2
#路徑
slow-query-log-file=/data/mysql/slowlog/slow.log
#未使用索引的查詢也記錄到slow log中
log_queries_not_using_indexes=1
#query cache
#啟用query cache
query_cache_type=1
#存放單條query cache的最大值,默認1M
query_cache_limit=1M
#存放單條query cache的最小值,默認4K
query_cache_min_res_unit=4096
#query的最大值
query_cache_size=256M
#MyISAM
#索引緩存大小,公式:Key_Size = key_number * (key_length+4)/0.67
key_buffer_size=128M
#單個線程進行順序讀取時的緩存,默認128K
read_buffer_size=2M
#單個線程進行隨機讀取時的緩存,默認256K
read_rnd_buffer_size = 4M
#重建索引時允許的最大緩存大小,默認8M
myisam_sort_buffer_size = 64M
#指定索引緩存中block大小,默認1K
key_cache_block_size=1024
#禁止索引的單條刷新
delay_key_write=1
#innodb
#啟用獨立的表空間
#innodb_file_per_table=1
#設置innodb內存緩沖區大小,在純mysql環境下,推薦設置為服務器內存的60~80%
innodb_buffer_pool_size =8G
#設置OS能進入innodb內核的線程數,推薦2*(CPU核心數+磁盤數)
innodb_thread_concurrency=16
#設置innodb的io行為,可選值fsync/O_DSYNC/O_DIRECT 推薦O_DIRECT提高隨機寫效率
innodb_flush_method=O_DIRECT
#設置mysql主進程每秒鐘向磁盤刷入的髒頁數,默認值200
#For systems with individual 5400 RPM or 7200 RPM drives, you might lower the value to the former default of 100
innodb_io_capacity=100
#設置寫髒頁的線程數
innodb_write_io_threads = 8
#設置從磁盤讀文件塊的線程數
innodb_read_io_threads = 8
#設置事物日志緩沖區大小
#設置事物日志緩沖區大小
innodb_log_buffer_size=8M
#log thread向磁盤同步日志的方式,可選值為0/1/2
#0: 每秒鐘刷新 1:每次事物提交後都刷新 2:交給OS來同步
innodb_flush_log_at_trx_commit =0
#數據庫字典信息和表結構空間
innodb_additional_mem_pool_size =16M
#啟用Double write Buffer區域,保證數據完整性,但消耗IO
innodb_doublewrite=1
[mysqldump]
# Do not buffer the whole result set in memory before writing it to file. Required for dumping very large tables
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
# Increase the amount of open files allowed per process. Warning: Make
# sure you have set the global system limit high enough! The high value
# is required for a large number of opened tables
open-files-limit = 8192