以下是
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
#服务器应缓存多少线程以便重新使用。当客户端断开连接时,如果线程少于
thread_cache_siz