环境:IBM S226、至强四核、4G RAM、2×80G RAID1、Windows Server 2003 32位、MySQL 5.5。实测配置供同规格机型参考。
[mysqld]
skip-external-locking
skip-name-resolve
max_connections = 1024
query_cache_size = 16M
sort_buffer_size = 6M
read_buffer_size = 16M
table_cache = 512
skip-name-resolve:禁用 DNS 解析,授权表仅用 IPsort_buffer_size:每连接独占,4G 内存建议 6-8Mread_buffer_size:全表扫描缓冲,每连接独占key_buffer_size = 256M # 索引缓存,4G内存建议256-384M,过大反降性能
read_buffer_size = 4M # 读查询缓冲
myisam_sort_buffer_size = 64M # 修复/排序缓冲
join_buffer_size = 8M # 关联查询缓冲
innodb_buffer_pool_size = 1G # 专用DB可占70-80%内存,此处留系统内存
innodb_additional_mem_pool_size = 16M
innodb_log_file_size = 256M # 建议 buffer_pool 的 25%,单文件不超2G总和
innodb_log_files_in_group = 2
innodb_log_buffer_size = 3M
innodb_flush_log_at_trx_commit = 0 # 0/2 高性能,1 最安全;主库建议1
innodb_file_per_table = ON
innodb_flush_log_at_trx_commit=0:每秒刷盘,崩溃丢 1 秒事务,性能最强=2:提交写文件不刷盘,仅 OS 崩溃/断电丢数据,折中推荐=1(默认):每提交刷盘,ACID 完全保证,性能最弱=1,从库/可重算数据可 =2SHOW VARIABLES LIKE '%query_cache%';
SHOW STATUS LIKE 'Qcache%';
# Qcache_lowmem_prunes 大 → 缓存不足
# Qcache_hits 大 → 缓存命中好
# Qcache_free_blocks 大 → 碎片多
迁移提示:32 位系统单进程寻址限制 2-3G,
innodb_buffer_pool_size不宜超 2G。64 位系统无此限制,建议升级 64 位 OS + MySQL。