|
|
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已! |
|
恭喜您是本站第 1730064
位訪客!
登入 | 註冊
|
|
|
|
發表者 |
討論內容 |
冷日 (冷日) |
發表時間:2014/6/6 9:02 |
- Webmaster

- 註冊日: 2008/2/19
- 來自:
- 發表數: 15773
|
- [轉貼]MySQL 優化大全:設定 my.cnf 優化指南
- MySQL 優化大全:設定 my.cnf 優化指南
Linux 下的 my.cnf 文件位置: Redhat是在 /etc/my.cnf; Debian是在 /etc/mysql/my.cnf; Windows是在 my.ini 文件中
Memory 在 1GB 以上:
[client]
port = 3306
socket = /var/tmp/mysql.sock
[mysqld]
port = 3306
socket = /var/tmp/mysql.sock
skip-locking
set-variable = key_buffer=384M
set-variable = max_allowed_packet=1M
set-variable = table_cache=512
set-variable = sort_buffer=1M
set-variable = record_buffer=1M
set-variable = join_buffer_size=4M
set-variable = thread_cache=8
#thread_concurrency = 主機cpu數量*2
set-variable = thread_concurrency=2
set-variable = myisam_sort_buffer_size=64M
set-variable = max_connections=750
log-bin
server-id = 1
[mysqldump]
quick
set-variable = max_allowed_packet=16M
[mysql]
no-auto-rehash
[isamchk]
set-variable = key_buffer=256M
set-variable = sort_buffer=256M
set-variable = read_buffer=2M
set-variable = write_buffer=2M
[myisamchk]
set-variable = key_buffer=256M
set-variable = sort_buffer=256M
set-variable = read_buffer=2M
set-variable = write_buffer=2M
[mysqlhotcopy]
interactive-timeout
----------------------------------------------------------------
注意事項
key_buffer_size + (record_buffer + sort_buffer)*max_connections <= 2G
如果不熟悉 my.cnf 內的設定也沒關係,可以直接使用 MySQL 的範例檔,在 /usr/share/mysql/ 下會有 my-huge.cnf, my-large.cnf, my-medium.cnf 及 my-small.cnf 幾個檔案,根據伺服器的硬件而選擇適合的檔案:
* my-huge.cnf: 適合 1GB - 2GB RAM的主機使用。
* my-large.cnf: 適合 512MB RAM的主機使用。
* my-medium.cnf: 只有 32MB - 64MB RAM 的主機使用,或者有 128MB RAM 但需要運行其他伺服器,例如 web server。
* my-small.cnf: 記憶體少於 64MB 時適用這個,MySQL 會佔用較少資源。
我選用了 my-large.cnf,只要執行以下指令便完成了,但如果你原先已經有 my.cnf,請先備份起來及自行調整:
shell> cp /usr/share/mysql/my-large.cnf /etc/my.cnf
shell> /etc/init.d/mysqld restart
以上的第二句是重新啟動 MySQL,請根據你的系統設定修改。 開啟 MySQL query cache 如果 MySQL server 是非常繁忙,可以開啟 query cache 以加速回應時間,開啟方法可以在 my.cnf 裡面加入以下項目: (Redhat 下面是 /etc/my.cnf;Debian 是在 etc/mysql/my.cnf)
query_cache_size = 268435456
query_cache_type = 1
query_cache_limit = 1048576
以上語法的設定裡面,query_cache_size 是分配 256MB 記憶體空間給 query cache;query_cache_type 設定成 1,是給所有的查詢做 cache;query_cache_limit 是指定個別的查詢語句 1KB 的記憶體空間。
這些數值可根據自己的需要作出更改,設定及存檔後,重新啟動 MySQL 即可。
原文出處:MySQL 優化大全:設定 my.cnf 優化指南 - Linux, Unix, FreeBSD專區 - 頂客論壇 - 台灣forum,Taiwan論壇bbs
|
|
|
討論串
|