最新公告
  • 欢迎光临数据科学与编程,我们是数据学科学兴趣交流小组立即加入我们
  • MySQL基本配置参数


    详细版


    基本配置:

    datadir:指定mysql的数据目录位置,用于存放mysql数据库文件、日志文件等。

    配置示例:datadir=D:/wamp/mysqldata/Data

    default-character-set:mysql服务器默认字符集设置。

    配置示例:default-character-set=utf8

    skip-grant-tables:当忘记mysql用户密码的时候,可以在mysql配置文件中配置该参数,跳过权限表验证,不需要密码即可登录mysql。

     

    日志相关:

    log-error:指定错误日志文件名称,用于记录当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。

    配置示例:log-error=”WJT-PC.err”(默认在mysql数据目录下)

    log-bin:指定二进制日志文件名称,用于记录对数据造成更改的所有查询语句。

    配置示例:log-bin=”WJT-PC-bin.log”(默认在mysql数据目录下)

    binlog-do-db:指定将更新记录到二进制日志的数据库,其他所有没有显式指定的数据库更新将被忽略,不记录在日志中。

    配置示例:binlog-do-db=db_name

    binlog-ignore-db:指定不将更新记录到二进制日志的数据库,其他没有显式忽略的数据库都将进行记录。

    配置示例:binlog-ignore-db=db_name如果想记录或忽略多个数据库,可以对上面两个选项分别使用多次。

    sync-binlog:指定多少次写日志后同步磁盘。

    配置示例:sync-binlog=N

    general-log:是否开启查询日志记录。

    配置示例:general-log=1

    general_log_file:指定查询日志文件名,用于记录所有的查询语句。

    配置示例:general_log_file=”WJT-PC.log”(默认在mysql数据目录下)

    slow-query-log:是否开启慢查询日志记录。

    配置示例:slow-query-log=1

    slow_query_log_file:指定慢查询日志文件名称,用于记录消耗时间较长的查询语句。

    配置示例:slow_query_log_file=”WJT-PC-slow.log”(默认在mysql数据目录下)

    long_query_time:设置慢查询的时间,超过这个时间的查询语句才记录日志。

    配置示例:long_query_time=10(单位:秒)

    log-slow-admin-statements:是否将慢管理语句(例如OPTIMIZE TABLE、ANALYZE TABLE和ALTER TABLE)写入慢查询日志。

     

    存储引擎相关:

    default-table-type:设置mysql的默认存储引擎。

    innodb_data_home_dir:InnoDB引擎的共享表空间数据文件根目录。若没有设置,则使用mysql的datadir目录作为缺省目录。

    innodb_data_file_path:单独指定共享表空间数据文件的路径与大小。数据文件的完整路径由innodb_data_home_dir与这里配置的值组合起来,文件大小以MB单位指定。

    配置示例:innodb_data_home_dir=innodb_data_file_path=ibdata1:12M;/data/mysql/mysql3306/data1/ibdata2:12M:autoextend

    如果想为innodb表空间指定不同目录下的文件,必须指定 innodb_data_home_dir =。这个例子中会在datadir下建立ibdata1,在/data/MySQL/mysql3306/data1/目录下创建ibdata2。

    innodb_file_per_table:是否开启独立表空间,若开启,InnoDB将使用独立的.idb文件创建新表而不是在共享表空间中创建。

    配置示例:innodb_file_per_table=1

    innodb_autoinc_lock_mode:配置在向有着auto_increment列的表插入数据时,相关锁的行为。该参数有3个取值:

    0:tradition传统,所有的insert语 句开始的时候得到一个表级的auto_inc锁,在语句结束的时候才能释放 这个锁,影响了并发的插入。

    1:consecutive连续,mysql可以一次生成 几个连续的auto_inc的值,auto_inc不需要一直保持到语句结束,只要 语句得到了相应的值后就可以提前释放锁(这也是mysql的默认模式)。

    2:interleaved交错,这个模式下已经没有了auto_inc锁,所以性能是最好的,但是对于同一个语句来说它得到的auto_inc的值可能不是连续的。

    配置示例:innodb_autoinc_lock_mode=1

    low_priority_updates:在myisam引擎锁使用中,默认情况下写请求优先于读请求,可以通过将该参数设置为1来使myisam引擎给予读请求优先权限, 所有的insert、update、delete和lock table write语句将等待直到受影响的表没有挂起的select或lock table read。

    配置示例:low_priority_updates=0(默认配置)

    max_write_lock_count:当一个myisam表的写锁定达到这个值后,mysql就暂时 将写请求优先级降低,给部分读请求获得锁的机会。

    innodb_lock_wait_timeout:InnoDB锁等待超时参数,若事务在该时间内没有获 得需要的锁,则发生回滚。

    配置示例:innodb_lock_wait_timeout=50(默认50秒)

    max_heap_table_size:设置memory表的最大空间大小,该变量可以用来计算 memory表的max_rows值。在已有memory表上设置该参数是没有效果 的,除非重建表。

     

    查询相关:

    max_sort_length:配置对blob或text类型的列进行排序时使用的字节数(只对配置的前max_sort_length个字节进行排序,其他的被忽略)

    max_length_for_sort:mysql有两种排序算法,两次传输排序和单次传输排序。当查询需要所有列的总长度不超过max_length_for_sort时,mysql使用 单次传输排序,否则使用两次传输排序。

    optimizer_search_depth:在关联查询中,当需要关联的表数量超过optimizer_search_depth的时候,优化器会使用“贪婪”搜索的方式查找“最优”的关联顺序。


    简要版


    mysq常用配置参数

    • port:端口
    • server-id:数据库唯一标识码
    • datadir:数据目录路径
    • basedir:基本路径
    • socket:指定socket文件路径
    • skip-name-resolve:禁止mysql对外部连接进行DNS解析,启用时所有远程连接都要使用ip地址方式
    • skip-external-locking:避免外部锁,默认开启
    • skip-grant-tables:mysql启动时不使用grant-tables授权表,常用于忘记密码情况下
    • user:使用的用户
    • sql_mode:约束SQL语法模式
    • show_query_log_file:慢日志存储路径,5.6及以上版本,log-slow-queries是5.6以下版本
    • long_query_time:设置慢查询时间,默认10s
    • log-queries-not-using-indexes:记录未使用索引查询
    • log_throttle_queries_not_using_indexs:5.6.5版本新增参数,设定每分钟记录到日志未使用索引的语句数目,超过则之后只记录语句数量和花费总时间
    • log_output:日志存储方式,默认FILE,TABLE表示写入到mysql.slow_log表
    • expire_logs_days:二进制日志保留的时间
    • log-bin:设置日志文件路径及名称
    • log-bin-index:日志文件后缀形式
    • relay-bin:中继日志文件
    • relay-bin-index:中继日志文件后缀形式
    • max_connections:mysql最大连接数(超出会报Too many connections)
    • back_log:mysql暂存的连接数量(每个连接占用256kb)
    • wait_timeout:关闭一个非交互的连接之前所需要等待的秒数
    • max_connect_errors:最大错误连接数,flush host进行解禁
    • max_allowed_packet:接受数据包大小,需要是才会分配内存,设置过大会造成内存溢出
    • max_heap_table_size:用户可以创建的内存表大小
    • tmp_table_size:mysql的heap表缓冲大小
    • read_rnd_buffer_size:mysql随机读缓冲区大小
    • sort_buffer_size:mysql执行排序使用的缓冲大小
    • join_buffer_size:联合查询操作所能使用的缓冲区大小
    本站上原创文章未经作者许可,不得用于商业用途,仅做学习交流使用,本站免责声明。转载请注明出处,否则保留追究法律责任的权利。《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
    数据科学与编程 » MySQL基本配置参数

    发表评论

    • 52会员总数(位)
    • 307资源总数(个)
    • 40本周发布(个)
    • 1 今日发布(个)
    • 329稳定运行(天)

    提供最优质的博文资源集合

    立即阅览 了解详情