mysql中my.cnf中常见的参数配置和解释

1.mysql中my.cnf常见参数的配置

  1. [client]
    user=david
    password=88888888

    [mysqld]

    ########basic settings########

    server-id = 11
    port = 3306
    user = mysql
    bind_address = 10.166.224.32 #根据实际情况修改
    autocommit = 0 #5.6.X安装时,需要注释掉,安装完成后再打开
    character_set_server=utf8mb4
    skip_name_resolve = 1
    max_connections = 800
    max_connect_errors = 1000
    datadir = /data/mysql_data #根据实际情况修改,建议和程序分离存放
    transaction_isolation = READ-COMMITTED
    explicit_defaults_for_timestamp = 1
    join_buffer_size = 134217728
    tmp_table_size = 67108864
    tmpdir = /tmp
    max_allowed_packet = 16777216
    sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
    interactive_timeout = 1800
    wait_timeout = 1800
    read_buffer_size = 16777216
    read_rnd_buffer_size = 33554432
    sort_buffer_size = 33554432

    ########log settings########

    log_error = error.log
    slow_query_log = 1
    slow_query_log_file = slow.log
    log_queries_not_using_indexes = 1
    log_slow_admin_statements = 1
    log_slow_slave_statements = 1
    log_throttle_queries_not_using_indexes = 10
    expire_logs_days = 90
    long_query_time = 2
    min_examined_row_limit = 100

    ########replication settings########

    master_info_repository = TABLE
    relay_log_info_repository = TABLE
    log_bin = bin.log
    sync_binlog = 1
    gtid_mode = on
    enforce_gtid_consistency = 1
    log_slave_updates
    binlog_format = row
    relay_log = relay.log
    relay_log_recovery = 1
    binlog_gtid_simple_recovery = 1
    slave_skip_errors = ddl_exist_errors

    ########innodb settings########

    innodb_page_size = 8192
    innodb_buffer_pool_size = 6G #根据实际情况修改
    innodb_buffer_pool_instances = 8
    innodb_buffer_pool_load_at_startup = 1
    innodb_buffer_pool_dump_at_shutdown = 1
    innodb_lru_scan_depth = 2000
    innodb_lock_wait_timeout = 5
    innodb_io_capacity = 4000
    innodb_io_capacity_max = 8000
    innodb_flush_method = O_DIRECT
    innodb_file_format = Barracuda
    innodb_file_format_max = Barracuda
    innodb_log_group_home_dir = /redolog/ #根据实际情况修改
    innodb_undo_directory = /undolog/ #根据实际情况修改
    innodb_undo_logs = 128
    innodb_undo_tablespaces = 3
    innodb_flush_neighbors = 1
    innodb_log_file_size = 4G #根据实际情况修改
    innodb_log_buffer_size = 16777216
    innodb_purge_threads = 4
    innodb_large_prefix = 1
    innodb_thread_concurrency = 64
    innodb_print_all_deadlocks = 1
    innodb_strict_mode = 1
    innodb_sort_buffer_size = 67108864

    ########semi sync replication settings########

    plugin_dir=/usr/local/mysql/lib/plugin #根据实际情况修改
    plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
    loose_rpl_semi_sync_master_enabled = 1
    loose_rpl_semi_sync_slave_enabled = 1
    loose_rpl_semi_sync_master_timeout = 5000

    [mysqld-5.7]
    innodb_buffer_pool_dump_pct = 40
    innodb_page_cleaners = 4
    innodb_undo_log_truncate = 1
    innodb_max_undo_log_size = 2G
    innodb_purge_rseg_truncate_frequency = 128
    binlog_gtid_simple_recovery=1
    log_timestamps=system
    transaction_write_set_extraction=MURMUR32
    show_compatibility_56=on
  2. 几个重要的参数配置和说明

    • innodb_log_file_size = 4G :做实验可以更改的小点,线上环境推荐用4G,以前5.5和5.1等版本之所以官方给的值很小,是因为太大后有bug,现在bug已经修复

    • innodb_undo_logs = 128innodb_undo_tablespaces = 3建议在安装之前就确定好该值,后续修改比较麻烦

    • [mysqld][mysqld-5.7]这种tag表明了下面的配置在什么版本下才生效,[mysqld]下均生效
    • autocommit,这个参数在5.5.X以后才有,安装5.6.X的时候要注意先把该参数注释掉,等安装完成后,再行打开, 5.7.X无需预先注释
    • datadirinnodb_log_group_home_dirinnodb_undo_directory一定要注意他的权限是 mysql:mysql

你可能感兴趣的:(mysql中my.cnf中常见的参数配置和解释)