my.cnf文件的內容詳細解釋

mysql配置文件爲my.cnf,它所在位置根據安裝時設定的。

當mysqld服務啓動的時候,默認會按一定的順序讀取配置文件的。

1
2
3
[root@zhu2 ~]# /opt/mysql/libexec/mysqld --verbose --help
Default options areread from the following filesin the given order:
/etc/my.cnf/etc/mysql/my.cnf/opt/mysql/etc/my.cnf ~/.my.cnf

可以發現,系統默認是按/etc/my.cnf-----/etc/mysql/my.cnf----/usr/local/mysql/my.cnf的順序讀取配置文件的,當有多個配置文件時,mysql會以讀取到的最後一個配置文件中的參數爲準。

常用的配置參數有:

1
port            = 3306

mysqld服務運行時的端口號,默認爲3306

1
socket          = /tmp/mysql.sock

socket文件是linux/unix系統特有的,用戶在該環境下的客戶端連接可以不通過tcp/ip網絡,而直接使用socket文件連接

1
back_log  = 300

該值爲設定檔mysql暫時停止響應新的請求前,短時間內有多少個請求可以存在堆棧內,如果系統在短時間內有很多的連接,應該增大該值,該值最好設置小於512的整數

1
skip-networking

不在tcp/ip端口上進行監聽,所有的連接都是通過本地的socket文件連接,這樣可以提高安全性,確定是不能通過網絡連接數據庫。

1
skip-locking

避免mysql的外部鎖定,增強穩定性

1
skip-name-resolve

避免mysql對外部的連接進行DNS解析,若使用此設置,那麼遠程主機連接時只能使用ip,而不能使用域名

1
max_connections = 3000

指定mysql服務所允許的最大連接進程數,

1
max_connect_errors = 1000

每個主機連接允許異常中斷的次數,當超過該次數mysql服務器將禁止該主機的連接請求,直到mysql服務重啓,或者flushhosts命令清空host的相關信息

1
table_cache = 614k

表的高速緩衝區的大小,當mysql訪問一個表時,如果mysql表緩衝區還有空間,那麼這個表就會被打開通放入高速緩衝區,好處是可以更快速的訪問表中的內容。

如果open_tables和opened_tables的值接近該值,那麼久該增加該值的大小

1
max_allowed_packet = 4M

設定在網絡傳輸中一次可以傳輸消息的最大值,系統默認爲1M,最大可以是1G

1
sort_buffer_size = 16M

排序緩衝區用來處理類似orderby以及groupby隊列所引起的排序,系統默認大小爲2M,該參數對應分配內存是每個連接獨佔的,若有100個連接,實際分配的排序緩衝區大小爲6*100;推薦設置爲6M-8M

1
join_buffer_size 8M

聯合查詢操作所使用的緩衝區大小。

1
thread_cache_size = 64

設置threadcache池中可以緩存連接線程的最大數量,默認爲0,該值表示可以重新利用保存在緩存中線程的數量,當斷開連接時若緩存中還有空間,那麼客戶端的線程將被放到緩存中,如果線程重新被請求,那麼請求將從緩存中讀取,若果緩存中是空的或者是新的請求,那麼線程將被重新創建。設置規律爲:1G內存設置爲8,2G內存設置爲16,4G以上設置爲64

1
query_cache_size = 64M

指定mysql查詢緩衝區的大小,用來緩衝select的結果,並在下一次同樣查詢的時候不再執行查詢而直接返回結果,根據Qcache_lowmem_prunes的大小,來查看當前的負載是否足夠高

1
query_cache_limit = 4M

只有小於該值的結果才被緩衝,放置一個極大的結果將其他所有的查詢結果都覆蓋

1
tmp_table_size 256M

內存臨時表的大小,如果超過該值,會將臨時表寫入磁盤

1
default_storage_engine = MYISAM

創建表時默認使用的存儲引擎

1
log-bin=mysql-bin

打開二進制日誌功能

1
key_buffer_size = 384M

指定索引緩衝區的大小,內存爲4G時刻設置爲256M或384M

1
read_buffer_size = 8M

用來做MYISAM表全表掃描的緩衝大小

。。。。。。。。。

常用配置實例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
[client]
default-character-set= utf8
port = 3306
socket = /tmp/mysql.sock
[mysqld]
user = mysql
port = 3306
socket = /tmp/mysql.sock
basedir = /opt/mysql
datadir = /opt/mysql/var
log-error = /opt/mysql/var/mysql-error.log
pid-file= /opt/mysql/var/mysql.pid
log_slave_updates = 1
log-bin = /opt/mysql/var/mysql-bin
binlog_format = mixed
binlog_cache_size = 4M
max_binlog_cache_size = 8M
max_binlog_size = 1G
expire_logs_days = 90
key_buffer_size = 384M
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
join_buffer_size = 2M
thread_cache_size = 8
query_cache_size = 32M
query_cache_limit = 2M
query_cache_min_res_unit = 2k
thread_concurrency = 32
table_cache = 614
table_open_cache = 512
open_files_limit = 10240
back_log = 600
max_connections = 5000
max_connect_errors = 6000
external-locking = FALSE
max_allowed_packet = 16M
default-storage-engine = MYISAM
thread_stack = 192k
transaction_isolation = READ-COMMITTED
tmp_table_size = 256M
max_heap_table_size = 512M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 64M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover
long_query_time = 2
slow_query_log
slow_query_log_file =/opt/mysql/var/slow.log
skip-name-resolve
skip-locking
skip-networking
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 512M
innodb_data_file_path = ibdata1:256M:autoextend
innodb_file_io_threads = 4
innodb_thread_aoncurrency = 8
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 16M
innodb_log_file_size = 128M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_file_per_table = 0
[mysqldump]
quick
max_allow_packet = 64M
[mysql]
no-auto-rehash
safr-updates
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
[mysqldump]
quick
max_allow_packet = 64M
[mysql]
no-auto-rehash
safe-updates
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章