以下是 Mysql数 据库服务器配置文件 /etc/my.cnf的详细配置。应用场合是 InnoDB引擎, 4核 CPU, 32位 SUSE。
[client]
port= 3306
socket= /tmp/mysql.sock
# The MySQL server
[mysqld]
bind-address = 192.168.0.11
port= 3306
socket= /tmp/mysql.sock
##设置表的默认类型。和 default-storage-engine同义
default-table-type = innodb
#以下是网络传输配置
#连接进程帧听队列的大小
back_log = 50
#之前有过经验, connections超过 370的时候, 线程的栈空间被占满, mysqld无法工作,所以限制为 200
max_connections=200
#连接 500次发生错 误之后,屏蔽从该 host的所有连接
max_connect_errors = 500
#通信缓冲区的最大长度。包或任何生成的 /中间字符串的最大大小。
max_allowed_packet = 32M
在查询之间将通信缓冲区重设为该值。如果语句超出该长度,缓冲区自动扩大,直到 max_allowed_packet字节。
net_buffer_length = 8K
#以下是查询优化
#避免外部锁定 (默认 是 ON). 对应 variable的 skip_external_locking
skip-locking
#索引缓冲区 (仅作用 于 MYISAM表和临时表 ),决定了数据库索引处理的速度
key_buffer_size = 10M
#所有线程打开的表的数目 (一个表使用 2个文件描述符 ),表数量多,就要大一些。增大该值可以增加 mysqld需要的文件描述符的数量。可以检查 Opened_tables(已经打开的表的数量 )状 态变量来检查你是否需要增加表缓存。
table_cache = 2048
#每个排序线程分配的缓冲区的大小。增加该值可以加快 ORDER BY或 GROUP BY操 作
sort_buffer_size = 5M
#用于完全联接的缓冲区的大小 (当不使用索引的时候使用联接操作 )。
#一般情况获得快速联接的最好方法是添加索引。当增加索引时不可能通过增加 join_buffer_size值来获得快速完全联接。
#将为两个表之间的每个完全联接分配联接缓冲区。对于多个表之间不使用索引的复杂联接,需要多联接缓冲 区。
join_buffer_size = 8M
#服务器应缓存多少线程以