[client]                           ####客户端配置
port= 3306                 ####mysql连接时默认的端口号               
socket= /tmp/mysql.sock      ####用于连接mysql
[mysqld]                           ####服务端配置
port= 3306                 ####mysql服务默认监听的端口
socket= /tmp/mysql.sock      ####用于连接mysql
back_log = 50                      ####操作系统在监听队列中所能保持的连接数,即在mysql连接管理器线程处理他们之前的连接数量
max_connections = 100              ####MySQL允许的并发会话的最大数量
max_connect_errors = 10            ####每个主机运行的最大错误量
table_open_cache = 2048            ####所有线程打开表的数字,文件描述符的大小
max_allowed_packet = 16M           ####服务器一次能够处理的最大查询包的值,也是服务器能够处理的最大查询
binlog_cache_size = 1M             ####在一个事务中,二进制日志能够处理SQL语句的缓存的最大值,若经常使用复杂的事务,可以增大这个值以便获得更好的性能,事务中所有的语句都会被缓存到binlog中,并且一次性的提交后立即写入二进制日志中,若处理的事务大于这个值,磁盘上的临时文件被代替使用,这个缓冲会在事务中第一次有更改状态时,被分配到每个连接上
max_heap_table_size = 64M          ####独立内存表所允许的最大容量
read_buffer_size = 2M              ####MySQL读入缓冲区的大小
read_rnd_buffer_size = 16M         ####MySQL随机读缓冲区的大小
sort_buffer_size = 8M              ####排序缓冲被用来处理类似ORDER BY以及GROUP BY队列所引起的排序
join_buffer_size = 8M              ####联合查询所能使用的缓冲区大小,该参数对应分配的内存是每个连接独享
thread_cache_size = 8              ####在cache保留多少线程用于重用
thread_concurrency = 8             ####允许应用程序给予线程系统一个提示在同一时间给予渴望被运行的线程数量
query_cache_size = 64M             ####查询缓冲区的大小,查询缓冲区常用来缓冲SELECT的结果并且在下一次同样查询的时候不在执行直接返回结果
query_cache_limit = 2M             ####只有小于此设定值的结果才会被缓冲
ft_min_word_len = 4                ####被全文检索索引最小的字长
default-storage-engine = MYISAM    ####创建新表时默认使用的表类型
thread_stack = 192K                ####线程使用的堆大小,此容量的内存在每次连接时被预留
transaction_isolation = REPEATABLE-READ    ####数据库的隔离级别
tmp_table_size = 64M               ####内部(内存中)临时表的最大大小
log-bin=mysql-bin                  ####打开二进制的日志功能
binlog_format=mixed                ####设定记录二进制日志的格式,有3种格式,基于语句statement、基于行row、混合模式mixed
slow_query_log                     ####记录慢查询
long_query_time = 2                ####所有超过这个参数的请求都将被作为慢查询
server-id = 1                      ####唯一的服务标识号,取值在2^32-1之间,这个值在主服务器和从服务器是被要求设置的,默认参数是1,如果主机不需要设置,且忽略此选项,MySQL不会作为master生效
key_buffer_size = 32M              ####关键词的缓冲大小,一般用来缓冲MyISAM表的索引块
bulk_insert_buffer_size = 64M      ####MyISAM使用特殊的类似树的cache来使得突发插入更快,此变量限制每个进程中缓冲树的字节
myisam_sort_buffer_size = 128M     ####当需要对于执行PERAIR、OPTIMIZE、ALTER语句重建索引时,MySQL会分配这个缓存,以及LOAD DATA INFILE会加载到一个新表,他会根据最大的配置认真的分配每个线程
myisam_max_sort_file_size = 10G    ####当重建索引PERAIR、OPTIMIZE、ALTER、LOAD、DATA、INFILE时,MySQL被允许使用临时文件的最大值
myisam_repair_threads = 1          ####如果一个表用友超过一个索引,MyISAM可以通过并行排序使用超过一个线程去修复他们
myisam_recover                     ####自动检查和修复没有适当关闭的MyISAM表
innodb_additional_mem_pool_size = 16M   ####用来设置InnoDB存储的数据目录信息和其他内部数据结构的内存池大小,应用程序里的表越多,你需要在这里分配越多的内存
innodb_buffer_pool_size = 2G       ####InnoDB使用一个缓冲池来保存索引和原始数据,设置越大,在存取里面数据时需要的磁盘I/O越少
innodb_data_file_path = ibdata1:10M:autoextend    ####InnoDB将数据保存在一个或多个数据文件中成为表空间
innodb_write_io_threads = 8        ####用来同步IO操作的IO线程数量
innodb_read_io_threads = 8         ####用来同步IO操作的IO线程数量
innodb_thread_concurrency = 16     ####使用InnoDB引擎,内核被允许的线程数,这个最佳值取决于应用程序、硬件还有操作系统的调用程序,太高的值肯定会导致线程的抖动
innodb_flush_log_at_trx_commit = 1 ####如果设置为1,InnoDB会在每次提交后刷新(fsync)事务日志到磁盘上
innodb_log_buffer_size = 8M        ####用来缓冲日志数据的缓冲大小
innodb_log_file_size = 256M        ####日志组中每个日志文件的大小
innodb_log_files_in_group = 3      ####日志文件的总量 一般2-3个足够
innodb_max_dirty_pages_pct = 90    ####在InnoDB缓冲池中最大允许的脏页面的比例
innodb_lock_wait_timeout = 120     ####在被回滚前,一个InnoDB的事务应该等待一个锁被批准多久
[mysqldump] 
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
open-files-limit = 8192           ####每个程序允许打开文件的数量