#
    
    [client]
    port = 3306
    socket = /tmp/mysql.sock
    default-character-set = utf8
    [mysql]
    no-auto-rehash                                            #仅允许使用键值的updates和deletes
    [mysqld]
    port = 3306                                                #msyql服务器端口号
    basedir = /usr/local/mysql                                 #mysql安装目录
    datadir = /usr/local/mysql/data                            #mysql数据存放目录
    #datadir = /data/mysql/data                                #同上
    socket = /usr/local/mysql/data/mysql.sock                  #sock文件
    
    #字符集与校对规则
    character-set-server = utf8                                #默认字符集
    collation-server = utf8_general_ci                         #设置校对规则
    
    external-locking = FALSE                                   #避免外部锁定(减少出错几率,增加稳定性)
    skip-name-resolv                                           #禁止外部连接进行DNS解析
    skip-slave-start                                           # 复制进程就不会随着数据库的启动而启动 http://blog.csdn.net/aeolus_pu/article/details/9419965 
    #master库binlog参数相关
    server-id = 1                                              #主从复制时,ID不能相同
    #binlog_format = mixed                                     #二进制日志格式(mixed、row、statement)
    binlog-cache-size = 32M                                    #设置二进制日志缓存大小
    sync-binlog = 1                                            #每隔N秒将缓存中的二进制日志记录写回硬盘
    max_binlog_cache_size = 8M                                 #最大的二进制Cache日志缓冲尺寸
    max_binlog_size = 1G                                       #单个二进制日志文件的最大值,默认1G,最大1G
    log-bin-index = /usr/local/mysql/data/mysql-bin.index      #binlog索引文件位置
    log-bin = /usr/local/mysql/data/mysql-bin                  #binlog日志存放目录
    expire_logs_days = 90                                      #二进制日志文件过期时间
    #slave数据库binlog参数
    server-id = 10                                             #各数据库id不能相同
    log_slave_updates = 1                                      #级联也使用
    relay-log = /usr/lcoal/mysql/data/relay-bin                #relady目录
    relay-log-info-file = /usr/local/mysql/data/relay-log.info #info目录
    slave-skip-errors = 1007,1008,1032,1062                    #跳过主从复制时的错误
    read-only = 1                                              #从服务器只读,SQL线程不影响,具有super,root用户不限制
    master-connect-retry = 60                                  #主从复制丢失,重连间隔时间,默认60s
    #replicate-ignore-db = mysql                               #忽略mysql库不同步
    replicate-wild-do-table=testdb1.%
    replicate-wild-do-table=testdb2.%
    replicate-wild-do-table=testdb3.%
    #master半同步开启参数
    rpl_semi_sync_master_enabled = ON
    rpl_semi_sync_master_timeout = 10000
    #rpl_semi_sync_master_wait_no_slave = ON
    #rpl_semi_sync_master_trace_level = 32
    #slave半同步开启参数
    rpl_semi_sync_slave_enabled = ON
    #rpl_semi_sync_slave_trace_level = 32
    
    back_log = 1000                                          #指出在MySQL暂时停止响应新请求之前,短时间内的多少个请求
    open_files_limit = 1024                                  #打开文件的最大个数,如果出现too mantopen files之类的就需要调整该值了
    
    #连接相关
    max_connections = 2000                                   #指定MySQL允许的最大连接进程数,show global variables like '%connections%'; http://elf8848.iteye.com/blog/1847445 
    max_user_connections = 2000                              #单用户最大的连接数,max_user_connections < 实例 max_user_connections < max_connections
    max_connect_errors = 100000                              #默认为10,设置每个主机的连接请求异常中断的最大次数,超过后会blocked,连接成功后初始0,出现错误后需要flush hosts
    
    max_allowed_packet = 8M                                  #服务器一次能处理的最大的查询包的值
    wait_timeout = 360                                       #指定一个请求的最大连接时间
    interactive_timeout = 360                                #连接保持活动的时间
    #访问日志
    #general_log = on
    #general_log_file = /usr/local/mysql/data/mysql_access.log
    
    #错误日志
    log_error = /data/mysql/data/mysql_error.log
    #慢查询相关参数
    slow_query_log = on                                    #开启慢查询
    log-queries-not-using-indexes                          #记录所有没有使用到索引的查询语句
    long_query_time = 2                                    #指定多少秒未返回结果的查询属于慢查询
    min_examined_row_limit = 5                             #记录那些由于查找了多余5次而引发的慢查询
    log-slow-admin-statements                              #记录那些慢的OPTIMIZE TABLE,ANALYZE TABLE和ALTER TABLE语句
    log-slow-slave-statements                              #记录由slave所产生的慢查询
    slow_query_log_file = /usr/local/mysql/data/slow.log   #指定慢查询日志文件路径
    table_cache = 614                                      #表分配的内存,物理内存越大,设置就越大
    table_open_cache = 512                                 #设置高速缓存表的数目
    thread_cache_size = 64                                 #服务器线程缓存数,与内存大小有关(建议大于3G设置为64)
    thread_concurrency = 32                                #CPU核数的两倍
    query_cache_size = 32M                                 #指定MySQL查询缓冲区的大小
    query_cache_limit = 2M                                 #只有小于此设置值的结果才会被缓存
    query_cache_min_res_unit = 2k                          #设置查询缓存分配内存的最小单位
    key_buffer_size = 512M                                #指定用于索引的缓冲区大小,增加它可得到更好的索引处理性能
    sort_buffer_size = 2M                                 #设置查询排序时所能使用的缓冲区大小,系统默认大小为2MB
    join_buffer_size = 1M                                 #联合查询操作所能使用的缓冲区大小
    read_buffer_size = 4M                                 #读查询操作所能使用的缓冲区大小
    read_rnd_buffer_size = 16M                            #设置进行随机读的时候所使用的缓冲区
    thread_stack = 192K                                   #设置Mysql每个线程的堆栈大小,默认值足够大,可满足普通操作
    bulk_insert_buffer_size = 8M                          #可以适当调整参数至16MB~32MB,建议8MB
    #myisam参数引擎相关
    myisam_sort_buffer_size = 128M
    myisam_max_sort_file_size = 10G
    myisam_repair_threads = 1
    myisam_recover                                       #自动检查和修复没有适当关闭的MyISAM表
    key_buffer_size = 16M                                #myisam索引buffer,只有key没有data
    
    transaction_isolation = READ-COMMITTED              #事务隔离级别
    tmp_table_size = 64M                                #设置内存临时表最大值
    max_heap_table_size = 64M                           #独立的内存表所允许的最大容量
    #innodb引擎参数相关
    default-storage-engine=InnoDB                      #默认表的类型为InnoDB
    innodb_old_blocks_time =1000                       #减小单次的大批量数据查询,默认为0,调整后性能提升80%                     http://www.cnblogs.com/cenalulu/archive/2012/10/10/2718585.html 
    innodb_flush_method = O_DIRECT                     #从innode刷新到磁盘,不经过系统write,fdatasync(默认),O_DSYNC,O_DIRECT http://blog.csdn.net/jiao_fuyou/article/details/16113403 
    innodb_additional_mem_pool_size = 16M              #设置InnoDB存储的数据目录信息和其他内部数据结构的内存池大小
    innodb_buffer_pool_size = 51G                      #InnoDB使用一个缓冲池来保存索引和原始数据,官方建议物理内存的80%
    innodb_data_file_path = ibdata1:128M:autoextend    #表空间
    innodb_file_io_threads = 4                         #InnoDB中的文件I/O线程,通常设置为4,innodb除master线程外,还有insert buffer, log, read, write这4种线程,默认各有一个
    innodb_read_io_threads = 8
    innodb_write_io_threads = 8
    innodb_thread_concurrency = 8                      #服务器有几个CPU就设置为几,建议用默认设置,一般设为8
    innodb_flush_log_at_trx_commit = 2                 #设置为0就等于innodb_log_buffer_size队列满后再统一存储,默认为1
    innodb_log_buffer_size = 16M                       #默认为1MB,通常设置为6-8MB就足够
    innodb_log_file_size = 512M                        #确定日志文件的大小,更大的设置可以提高性能,但也会增加恢复数据库的时间
    innodb_log_files_in_group = 3                      #为提高性能,MySQL可以以循环方式将日志文件写到多个文件。推荐设置为3
    innodb_max_dirty_pages_pct = 90                    #InnoDB主线程刷新缓存池中的数据
    innodb_lock_wait_timeout = 120                     #InnoDB事务被回滚之前可以等待一个锁定的超时秒数
    innodb_file_per_table = 1                          #InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间,0关闭,1开启
    innodb_autoextend_increment = 256                  #这个参数的作用是控制innodb 共享表空间文件自动扩展的大小
    [mysqldump]
    quick
    max_allowed_packet = 64M
    [mysqld_safe]
    log-error = /usr/local/mysql/data/mysql.err
    pid-file = /usr/local/mysql/data/mysqld.pid