• mysql 常用配置


    innodb_buffer_pool_size 缓冲区的大小,一般为内存的70%-80%之间, 用来缓存表及索引数据,锁等级数据的最主要缓存空间。

    通过查看 show status like 'innodb_buffer_pool_%';

    innodb_log_file_size 日志文件大小,越大越好,可以减少 buffer pool checkpoint的频率不能超过4G,

    可以设置了多个组,如3组,每组大小 300M

    innodb_log_buffer_size 设置 log buffer大小,默认为1M,主要作用就是缓冲Log数据,

    提高 Log 的IO性能,一般8M可以胜任 show status like 'innodb_log%'; 如果 Innodb_log_waits 为 0 ,

    不用等待,缓存够大, 如果大于0,就是缓存不够大,可以适当增大innodb_file_per_table =1

    可以每个表有单独的数据和索引文件数据

    innodb_data_file_path 不仅指定所有 innodb数据文件的路径,

    还指定初始大小分配,以下是两个硬盘

    innodb_data_file_path = /disk1/local/mysql/innodb1:1000M:autoextend:8M:max:1G;

    innodb_data_file_path = /disk2/local/mysql/innodb2:2000M:autoextend

    如果没有指定innodb_data_home_dir的话,不然就直接用 innodb_data_home_dir的值

    如果指定 innodb_data_home_dir,则: innodb_data_home_dir=/usr/local/mysql innodb_data_file_path=ibdata1:2G;ibdata2:2G;ibdata3:2G:autoextend:max:3G

    则表示在/usr/local/mysql下有 ibdata1,ibdata2,ibdata3三个存放数据的文件,

    最后一个可以自动扩展,就是当ibdata3大于2G时,会自动增加,增加到 最大为3G

    ============================

    [mysqld]

    #general

    datadir   = /usr/local/mysql socket   = /usr/local/mysql/mysql.sock (应该与编译安装目录不在同一位置)

    pid_file  =/usr/local/mysql/mysql.pid (应该与编译安装目录不在同一位置)

    user   = mysql

    port   =3306

    default_storage_engine =innodb

    expire_logs_days = 15

    #innodb

    innodb_buffer_pool_size = 70-80%内存值

    innodb_log_file_size = 至少要有几百M

    innodb_log_buffer_size = 1-8M/32-128M

    innodb_file_per_table = 1

    #innodb与文件系统相互作用,设置为 0_DIRECT时,需要打开 innodb_file_per_table

    #默认为 fdatasync innodb_flush_method = 0_DIRECT (类unix特有,绕过操作系统的缓存)

    #MYISAM

    #键缓存,默认只有一个,但可以设置多个,只缓存索引,数据缓存则靠系统

    #查看总大小,应该比这个值小一点点,单位为 B

    # select sum(index_length) from information_schema.tables where engine='myisam';

    key_buffer_size  = 32M

    #设置多个时

    key_buffer_1.key_buffer_size = value

    key_buffer_2.key_buffer_size = value

    #用key_buffer_1来缓存t1,t2表的、索引

    cache index t1,t2 in key_buffer_1;

    ########

    #LOGGING

    log_error  = /usr/local/mysql/mysql-error.log

    slow_query_log  = /usr/local/mysql/mysql-slow.log

    #OTHER

    tmp_table_size  = 32M/或更大

    max_heap_table_size = 32M

    query_cache_type = 0

    query_cache_size = 0

    max_connections  = 10000(默认为100)

    open_file_limit  = 65535 (打开最大文件数目,越大会越好点)

    [client]

    socket   = /usr/local/mysql/mysql.sock

    port   = 3306

  • 相关阅读:
    响应式笔记(1)
    javascript复制文章加版权声明代码
    div的水平和垂直居中
    javascript随机打乱数组
    javascript操作字符串的方法
    《Javascript高级程序设计》读书笔记(1-3章)
    一个将 footer 保持在底部的最好方法
    Python内置的字符串处理函数整理
    c c++怎么判断一个字符串中是否含有汉字
    shell的if判断
  • 原文地址:https://www.cnblogs.com/lin3615/p/4783191.html
Copyright © 2020-2023  润新知