本文記錄在 RedHat 6.2 上部署 MySQL + phpMyAdmin 的完整優化過程,涵蓋網絡、內核參數、服務精簡,可作為歷史版本 Linux 數據庫服務器調優參考。
/etc/hosts:
202.104.131.100 info.langoit.com.cn info
/etc/named.conf:
options {
directory "/var/named";
forwarders { 202.104.131.98; };
forward only;
};
zone "." { type hint; file "named.ca"; };
zone "0.0.127.in-addr.arpa" { type master; file "named.local"; };
/etc/resolv.conf:
search langoit.com.cn
nameserver 202.104.131.98
nameserver 202.96.134.133
cd /etc/rc.d/init.d
./sendmail stop; ./apmd stop; ./kudzu stop
rpm -e --nodeps sendmail kudzu nfs-utils
/usr/src/linux/include/linux/tasks.h:
NR_TASKS 5120 # 進程上限
MIN_TASKS_LEFT_FOR_ROOT 24 # root 保留進程數
/usr/src/linux/Makefile:
HOSTCC = egcs
CC = $(CROSS_COMPILE)egcs -D__KERNEL__ -I$(HPATH)
CFLAGS = -Wall -Wstrict-prototypes -O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions
HOSTCFLAGS = -Wall -Wstrict-prototypes -O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro
注意:現代 Linux 發行版無需手動編譯內核,可通過 /etc/sysctl.conf 動態調整參數。
my.cnf 關鍵參數:key_buffer_size = 32Mtable_cache = 256sort_buffer_size = 4Mquery_cache_size = 16M
log_slow_queries = /var/log/mysql/slow.logmyisamchk -r /var/lib/mysql/*.MYI 整理索引config.inc.php 中的 $cfg['Servers'][$i]['auth_type'] = 'cookie';blowfish_secret 加密 Cookie<Location /phpmyadmin> Order Deny,Allow Deny from all Allow from 192.168.1.0/24 </Location>