zoukankan      html  css  js  c++  java
  • mysql5.6配置-my

    # mkdir -p /home/mysql/3306/{data,binlog,logs}

    [client]
    port = 3306
    socket=/tmp/my3306.sock
    
    [mysql]
    no-auto-rehash
    
    [mysqld]
    user = mysql
    port = 3306
    bind_address = *
    socket=/tmp/my3306.sock
    character_set_server = utf8
    log-error = /data/mysql/3306/logs/my3306_error.log
    pid-file=/data/mysql/3306/logs/my3306.pid
    datadir=/data/mysql/3306/data
    basedir=/opt/mysql
    default-storage-engine=InnoDB #MyISAM
    open_files_limit = 10240
    autocommit = 1
    sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
    secure_file_priv=''
    lower_case_table_names=1
    skip-grant
    skip-name-resolve =on
    
    log-bin = /data/mysql/3306/binlog/binlog
    binlog_cache_size = 32M
    binlog_format = ROW #MIXED
    
    binlog_row_image = FULL
    
    max_binlog_cache_size = 2048M
    max_binlog_size = 512M
    expire_logs_days = 90
    
    
    key_buffer_size = 1024M
    max_allowed_packet = 1024M
    table_open_cache = 1024
    sort_buffer_size = 8M
    read_buffer_size = 8M
    read_rnd_buffer_size = 8M
    join_buffer_size = 8M
    myisam_sort_buffer_size = 128M
    thread_cache_size = 128
    query_cache_size= 128M
    thread_concurrency = 8
    interactive_timeout = 1800
    wait_timeout = 1800
    
    max_connections = 1000
    max_user_connections = 1000
    max_connect_errors = 6000
    back_log = 600
    
    long_query_time=3
    slow_query_log=1
    slow_query_log_file=/data/mysql/3306/logs/my3306-slow-query.log
    
    
    skip_external_locking=1
    
    innodb_file_per_table = on
    innodb_buffer_pool_size = 2048M 
    innodb_thread_concurrency = 8 
    innodb_flush_log_at_trx_commit = 1

    [client]
    port = 3306
    socket=/tmp/my3306.sock

    [mysql]
    #这个配置段设置启动MySQL服务的条件;在这种情况下,no-auto-rehash确保这个服务启动得比较快。
    no-auto-rehash

    [mysqld]
    #########base############
    user = mysql
    port = 3306
    bind_address = *
    socket=/tmp/my3306.sock
    character_set_server = utf8
    log-error = /home/mysql/3306/logs/my3306_error.log
    pid-file=/home/mysql/3306/logs/my3306.pid
    datadir=/home/mysql/3306/data
    basedir=/opt/mysql
    default-storage-engine=InnoDB #MyISAM
    #文件打开数
    open_files_limit = 10240
    #自动提交
    autocommit = 1
    sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"

    #表名不区分大小写
    lower_case_table_names=1
    #跳过密码验证
    skip-grant
    #关闭域名解析
    skip-name-resolve =on

    #secure_file_prive=null   -- 限制mysqld 不允许导入导出

    #secure_file_priv=/tmp/   -- 限制mysqld的导入导出只能发生在/tmp/目录下

    secure_file_priv=' '         -- 不对mysqld 的导入 导出做限制

    ########binlog配置####################
    log-bin = /home/mysql/3306/binlog/binlog
    binlog_cache_size = 32M
    binlog_format = ROW #MIXED

    binlog_row_image = FULL

    max_binlog_cache_size = 2048M
    #binlog文件大小
    max_binlog_size = 512M
    #binlog保留90天
    expire_logs_days = 90

    ####调优配置###############
    #buffer内存的配置参数,索引缓冲区(1G以下内存设定128M;2G/256M; 4G/384M;8G/1024M;16G/2048M)
    key_buffer_size = 1024M
    #设置在网络传输中一次消息传输量的最大值。系统默认值 为4MB,最大值是1GB,必须设置1024的倍数
    max_allowed_packet = 1024M
    #打开一个表的时候,会临时把表里面的数据放到这部分内存中,一般设置成1024就够了
    table_open_cache = 1024
    # Sort_Buffer_Size 是一个connection级参数,在每个connection(session)第一次需要使用这个buffer的时候,一次性分配设置的内存。
    #Sort_Buffer_Size 并不是越大越好,由于是connection级的参数,过大的设置+高并发可能会耗尽系统内存资源。例如:500个连接将会消耗 500*sort_buffer_size(8M)=4G内存
    #Sort_Buffer_Size 超过2KB的时候,就会使用mmap() 而不是 malloc() 来进行内存分配,导致效率降低。 系统默认2M,使用默认值即可
    sort_buffer_size = 8M
    #读数据的时候的缓冲区
    read_buffer_size = 8M
    #随机读的缓冲区
    read_rnd_buffer_size = 8M
    join_buffer_size = 8M #以上4项 4g内存给4-8M
    #myisam配置的缓冲区 一般4G内存给64M即可
    myisam_sort_buffer_size = 128M
    #缓存可重用的线程数和内存有关系,1G内存设置为8,2G内存设置为16,4G以上设置为64。
    thread_cache_size = 128
    #查询的缓存大小,存放查询结果 一般情况下4G内存设置64M足够了
    query_cache_size= 128M
    #设置thread_concurrency的值的正确与否, 对mysql的性能影响很大。最大并发线程数,cpu核数的2倍
    thread_concurrency = 16
    #连接时间
    interactive_timeout = 1800
    #断开时间跟连接时间一起开才生效 跟interactive_timeout 一起配置
    wait_timeout = 1800

    ######与性能并无太大关系。为了避免一些错误我们一般都设置比较大########
    #最大的连接数,根据业务请求量适当调整,设置500足够
    max_connections = 1000
    #是指同一个账号能够同时连接到mysql服务的最大连接数。设置为0表示不限制。通常我们设置为100足够
    max_user_connections = 1000
    #设置每个主机的连接请求异常中断的最大次数,当超过该次数,MYSQL服务器将禁止host的连接请求,直到mysql服务器重启或通过flush hosts命令清空此host的相关信息。默认100
    max_connect_errors = 6000
    #在MYSQL暂时停止响应新请求之前,短时间内的多少个请求可以被存在堆栈中。如果系统在短时间内有很多连接,则需要增大该参数的值,该参数值指定到来的TCP/IP连接的监听队列的大小。默认值80。
    back_log = 600

    #####慢查询##########
    long_query_time=3
    #开启慢查询
    slow_query_log=1
    slow_query_log_file=/home/mysql/3306/logs/my3306-slow-query.log

    #记录没有索引的查询
    log_queries_not_using_indexes = 1

    #使用skip_external_locking MySQL选项以避免外部锁定。该选项默认开启
    skip_external_locking=1

    ######innodb配置================
    #独立表空间 1=on 0=off
    innodb_file_per_table = on
    innodb_buffer_pool_size = 2048M
    # 这对Innodb表来说非常重要。Innodb相比MyISAM表对缓冲更为敏感。MyISAM可以在默认的 key_buffer_size 设置下运行的可以,然而Innodb在默认的 innodb_buffer_pool_size 设置下却跟蜗牛似的。由于Innodb把数据和索引都缓存起来,无需留给操作系统太多的内存,因此如果只需要用Innodb的话则可以设置它高达 70-80% 的可用内存。一些应用于 key_buffer 的规则有 — 如果你的数据量不大,并且不会暴增,那么无需把 innodb_buffer_pool_size 设置的太大了
    #表空间文件 重要数据
    innodb_data_file_path = ibdata1:1024M:autoextend 设置过大导致报错,默认12M观察
    #服务器有几个CPU就设置为几,建议用默认设置,一般为8
    innodb_thread_concurrency = 8
    # 如果将此参数设置为1,将在每次提交事务后将日志写入磁盘。为提供性能,可以设置为0或2,但要承担在发生故障时丢失数据的风险。设置为0表示事务日志写入日志文件,而日志文件每秒刷新到磁盘一次。设置为2表示事务日志将在提交时写入日志,但日志文件每次刷新到磁盘一次。(使用默认值1)
    innodb_flush_log_at_trx_commit = 1

    #innodb_force_recovery=1  #修复数据库的时候用

  • 相关阅读:
    Kafka 生产者 自定义分区策略
    同步互斥
    poj 1562 Oil Deposits(dfs)
    poj 2386 Lake Counting(dfs)
    poj 1915 KnightMoves(bfs)
    poj 1664 放苹果(dfs)
    poj 1543 Perfect Cubes (暴搜)
    poj 1166 The Clocks (暴搜)
    poj 3126 Prime Path(bfs)
    处理机调度
  • 原文地址:https://www.cnblogs.com/hanxiaohui/p/8399161.html
Copyright © 2011-2022 走看看