MySQL数据库配置文件详解
[mysqld] //服务器端配置
datadir=/data/mysql //数据目录
socket=/var/lib/mysql/mysql.sock //socket通信设置
user=mysql //使用mysql用户启动
symbolic-links=0 //是否支持快捷方式
log-bin=mysql-bin //开启bin-log日志
server-id = 1 //mysql服务ID
auto_increment_offset=1 //自增长字段从固定数开始
auto_increment_increment=2 //自增长字段每次递增的量,在做数据库的主主同步时需要设置自增长的两个相关配置:
#auto_increment_offset和auto_increment_increment。
#auto_increment_offset表示自增长字段从哪个数开始,他的取值范围是1 -65535
#auto_increment_increment表示自增长字段每次递增的量,其默认值是1,取值范围是1-65535
#在主主同步配置时,需要将两台服务器的auto_increment_increment增长量都配置为2,而要把auto_increment_offset分别配置为1和2,这样才可以避免两台服务器同时做更新时自增长字段的值之间发生冲突。)
[mysqld_safe] //mysql服务安全启动配置
log-error=/var/log/mysqld.log //MySQL错误日志路径
pid-file=/var/run/mysqld/mysqld.pid //MySQL PID进程文件
key_buffer_size = 2048MB //指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。一般为内存的50%
max_connections = 3000 //每个客户端连接最大的允许数量,如果达到了此限制,这个客户端将会被MySQL服务阻止直到执行了”FLUSH HOSTS”或者服务重启.
innodb_buffer_pool_size //对于InnoDB表来说,innodb_buffer_pool_size的作用就相当于key_buffer_size对于MyISAM表的作用一样。InnoDB使用该参数指定大小的内存来缓冲数据和索引。
#对于单独的MySQL数据库服务器,最大可以把该值设置成物理内存的80%。
#例如:物理内存32G,24G
========================================================================
根据MySQL手册,对于2G内存的机器,推荐值是1G(50%)。
basedir = path # 使用给定目录作为根目录(安装目录)。
datadir = path # 从给定目录读取数据库文件。
pid-file = filename # 为mysqld程序指定一个存放进程ID的文件(仅适用于UNIX/Linux系统);
[mysqld]
socket = /tmp/mysql.sock # 为MySQL客户程序与服务器之间的本地通信指定一个套接字文件(Linux下默认是/var/lib/mysql/mysql.sock文件)
port = 3306 # 指定MsSQL侦听的端口
key_buffer = 384M # key_buffer是用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写)。索引块是缓冲的并且被所有的线程共享,key_buffer的大小视内存大小而定。
table_cache = 512 # 为所有线程打开表的数量。增加该值能增加mysqld要求的文件描述符的数量。可以避免频繁的打开数据表产生的开销
sort_buffer_size = 2M # 每个需要进行排序的线程分配该大小的一个缓冲区。增加这值加速ORDER BY或GROUP BY操作。注意:该参数对应的分配内存是每连接独占!如果有100个连接,那么实际分配的总共排序缓冲区大小为100×6=600MB
read_buffer_size = 2M # 读查询操作所能使用的缓冲区大小。和sort_buffer_size一样,该参数对应的分配内存也是每连接独享。
query_cache_size = 32M # 指定MySQL查询结果缓冲区的大小
read_rnd_buffer_size = 8M # 改参数在使用行指针排序之后,随机读用的。
myisam_sort_buffer_size = 64M # MyISAM表发生变化时重新排序所需的缓冲。
thread_concurrency = 8 # 最大并发线程数,取值为服务器逻辑CPU数量×2,如果CPU支持H.T超线程,再×2
thread_cache = 8 #缓存可重用的线程数
skip-locking # 避免MySQL的外部锁定,减少出错几率增强稳定性。
default-storage-engine=INNODB #设置MySQL默认引擎为InnoDB
=============================================================================
[mysqldump] #数据库导出段配置
max_allowed_packet =16M # 服务器和客户端之间最大能发送的可能信息包