mysql 设置参数解读
 一  mysql的参数分为几类
      1 session级别可以设置
      2 global级别可以设置
      3 session+global级别可以设置
      4 read_only必须加入配置文件才可以设置
 二 mysql5.6版本
 #innodb
       innodb_additional_mem_pool_size=32M(用来存储元数据,表越多,需要的越大,此参数在5.7.4中已经移除) =>不支持在线修改 
       innodb_buffer_pool_size=linux_memoryX70%(推荐单实例服务器内存的70%) =>不支持在线修改 
       innodb_data_file_path = ibdata1:1024M:autoextend (独立表空间启动)=> 不支持在线修改
       innodb_flush_log_at_trx_commit=1(日志刷新方式,如果不是压力很大,建议设置为1,保证事务的安全) 
       innodb_log_buffer_size=16M (redo log的缓存) =>不支持在线修改 
       innodb_log_file_size=256M (redo log实际的大小,关于redo不适合设置太大或者太小,太小会切换频繁,太大会导致恢复困难) =>不支持在线修改 
       innodb_log_files_in_group=3 (redo log日志组的个数) =>不支持在线修改 
       innodb_flush_method=O_DIRECT(写入磁盘方式) =>不支持在线修改 
       innodb_read_io_threads=8(读线程) =>不支持在线修改 
       innodb_write_io_threads=8(写线程) =>不支持在线修改 
       innodb_io_capacity=2000(并发IO,针对RAID磁盘组,SSD可以设置更高)
       #binlog
       sync_binlog=1 (设置为1 保证binlog的写入成功)
       log_bin = mysql-bin =>不支持在线修改
       常规
       back_log=500 =>不支持在线修改
       max_connections=3000(看情景设置)
       max_connect_errors=1000
       binlog_format=ROW 
       skip-name-resolve =>不支持在线修改
       character_set_server=utf-8 =>不支持在线修改
       max_allowed_packet=20M(看情景设置)
       thread_cache_size=64(会话缓存线程数)
       sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES(看情景设置) 
       #与查询有关的参数(看情景设置)
       tmp_table_size = 256M 
       sort_buffer_size = 4M
       read_buffer_size = 4M
       join_buffer_size = 8M
 三 总结如下
    1 可以看到mysql一些不能重启生效的参数最好在初始化mysql时候添加,否则以后调节就很难了
    2 此份配置仅仅代表我的个人见解(暂时没有考虑高并发),有些参数需要看情景设置,如果有问题可以留言,我会立马改正
    3 mysql的参数列表请参考5.6官方文档
4 mysql全局理论使用内存的计算公式
      mysqlused mem =key_buffer_size + query_cache_size+innodb_buffer_pool_size + innodb_additional_mem_pool_size+innodb_log_buffer_size
 +max_connections * (read_buffer_size+ read_rnd_buffer_size+sort_buffer_size+ join_buffer_size+binlog_cache_size + thread_stack+ tmp_table_size)










