[client]
port    = 3306    //客户端端口号为3306
socket  = /tmp/mysql.sock  //套接字文件(sockets),这种文件一般用在网络上的资料套接,mysqld守护进程生成了这个文件,其他与mysql相关的程序想使用mysql,估计就是通过这个文件了。

[mysql]   
no-auto-rehash  //仅仅允许使用键值的 UPDATEs 和 DELETEs .

[mysqld]
character-set-server = utf8  //新数据库或数据表的默认字符集。为了与MySQL的早期版本保持兼容,这个字符集也可以用–default-character-set选项给出; 但这个选项已经显得有点过时了。
replicate-ignore-db = mysql  //不对这个数据库进行镜像处理。
replicate-ignore-db = test
replicate-ignore-db = information_schema
user    = mysql   //mysqld程序在启动后将在给定UNIX/Linux账户下执行; mysqld必须从root账户启动才能在启动后切换到另一个账户下执行; mysqld_safe脚本将默认使用–user=mysql选项来启动mysqld程序。
port    = 3306   //为MySQL程序指定一个TCP/IP通信端口(通常是3306端口)。
socket  = /tmp/mysql.sock
basedir = /usr/local/mysql  //使用给定目录作为根目录(安装目录)。
datadir = /data/mysql/data       //从给定目录读取数据库文件。
open_files_limit    = 10240  //设置打开文件数量允许至少值。
back_log = 600  //back_log是操作系统在监听队列中所能保持的连接数,队列保存了再mysql连接管理器线程处理之前的连接,如果你有非常高的连接率并且出现"connection refused"报错,你就应该增加此处的值。检查你的操作系统文档来获取这个变量的最大值,如果将back_log设定到比你操作系统限制更高的值,将会没有效果。
max_connections = 3000   //MySQL服务器同时处理的数据库连接的最大数量(默认设置是100)。
max_connect_errors = 6000  //每个客户端连接最大的错误允许数量,如果达到了此限制,这个客户端将会被mysql服务阻止直到执行了“flush hosts”或者服务重启;非法的密码以及其他在链接时的错误会增加此值,查看“aborted_connects”状态来获取全局计数器。
table_cache = 614  //同时打开的数据表的数量(默认设置是64)。所有线程所打开表的数量,增加此值就增加了Mysqld所需要的文件描述符的数量,这样你需要确认在【mysqld】中“open-files-limit”变量设置打开文件数量允许至少4096, table_cache=2048.
external-locking = FALSE //允许外部文件级别的锁,打开文件锁会对性能造成负面影响,所以只有在你在同样的文件上运行多个数据库实例时才使用此选项(注意仍会有其他约束!),或者你在文件层面上使用了其他一些软件依赖来锁定MyISAM表。
max_allowed_packet = 32M  //服务所能处理的请求包的最大大小以及服务所能处理的最大的请求大小(当与大的BLOB字段一起工作时相当必要),每个链接独立的大小,大小动态增加。
sort_buffer_size = 2M   //为排序操作分配的缓存区的长度(默认设置是2M); 如果这个缓存区太小,则必须创建一个临时文件来进行排序。
join_buffer_size = 2M    //在参加JOIN操作的数据列没有索引时为JOIN操作分配的缓存区长度(默认设置是128K)。
thread_cache_size = 300  //我们在cache中保留多少线程用于重用,当一个客户端断开连接后,如果cache中的线程还少于thread_cache_size,则客户端线程被放入cache中,这可以在你需要大量新连接的时候极大的减少线程创建的开销(一般来说如果你有好的线程模型的话,这不会有明显的性能提升)。
thread_concurrency = 8   //允许线程并发大小,官方推荐设置和 CPU 最大线程一样。
query_cache_size = 512M  //查询缓存区的最大长度(默认设置是0,不开辟查询缓存区)。
query_cache_limit = 2M  //允许临时存放在查询缓存区里的查询结果的最大长度(默认设置是1M)。
query_cache_min_res_unit = 2k //设置查询缓存分配内存的最小单位,要适当地设置此参数,可以做到为减少内存块的申请和分配次数,但是设置过大可能导致内存碎片数值上升。默认值为4K,建议设置为1k~16K。
default-storage-engine = MyISAM  //新数据表的默认数据表类型(默认设置是MyISAM)。这项设置还可以通过–default-table-type选项来设置。
default_table_type = MyISAM  //当创建新表时作为默认使用的表类型,如果在创建表示没有特别执行表类型,将会使用此值。

thread_stack = 192K  //线程使用的堆大小,此容量的内存在每次连接时被预留。mysql本身常不会需要超过64K的内存,如果你使用你自己的需要大量堆的UDF函数,或者你的操作系统对于某些操作需要更多的堆,你也许需要将其设置的更高一点。
transaction_isolation = READ-COMMITTED  //设定默认的事务隔离级别,可用的级别有:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE。
tmp_table_size = 246M  //临时HEAP数据表的最大长度(默认设置是32M); 超过这个长度的临时数据表将被转换为MyISAM数据表并存入一个临时文件。
max_heap_table_size = 246M   //HEAP数据表的最大长度(默认设置是16M); 超过这个长度的HEAP数据表将被存入一个临时文件而不是驻留在内存里。
long_query_time = 3  //慢查询的执行用时上限(默认设置是10s)。
log-bin = /data/mysql/3306/mysql-bin  //把对数据进行修改的所有SQL命令(也就是INSERT、UPDATE和DELETE命令)以二进制格式记入日志(二进制变更日志,binary update log)。这种日志的文件名是filename.n或默认的hostname.n,其中n是一个6位数字的整数(日志文件按顺序编号)。
binlog_cache_size = 4M  //在一个事务中binlog为了记录sql状态所持有的cache大小,如果你经常使用大的,多声明的事务,你可以增加此值来获得更大的性能,所有从事务来的状态都被缓冲在binlog缓冲中,然后再提交后一次性写入到binlog中,如果事务比此值大,会使用磁盘上的临时文件来替代,此缓冲在每个链接的事务第一次更新状态时被创建。
binlog_format = MIXED   //STATEMENT,ROW,MIXED # 基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。相应地,binlog的格式也有三种:STATEMENT,ROW,MIXED。
max_binlog_cache_size = 8M  //最大的二进制Cache日志缓冲区尺寸。
max_binlog_size = 1G  //二进制日志文件的最大长度(默认设置是1GB)。在前一个二进制日志文件里的信息量超过这个最大长度之前,MySQL服务器会自动提供一个新的二进制日志文件接续上。
expire_logs_days = 30   //超过30天的binlog删除。
key_buffer_size = 256M  //用来存放索引区块的RMA值(默认设置是8M)。
read_buffer_size = 1M   //为从数据表顺序读取数据的读操作保留的缓存区的长度(默认设置是128KB); 这个选项的设置值在必要时可以用SQL命令SET SESSION read_buffer_size = n命令加以改变。
read_rnd_buffer_size = 16M  //类似于read_buffer_size选项,但针对的是按某种特定顺序(比如使用了ORDER BY子句的查询)输出的查询结果(默认设置是256K)。
bulk_insert_buffer_size = 64M  //为一次插入多条新记录的INSERT命令分配的缓存区长度(默认设置是8M)。
myisam_sort_buffer_size = 128M   //MyISAM 设置恢复表之时使用的缓冲区的尺寸,当在REPAIR TABLE或用CREATE INDEX创建索引或ALTER TABLE过程中排序 MyISAM索引分配的缓冲区。
myisam_max_sort_file_size = 10G  //MyISAM 如果临时文件会变得超过索引,不要使用快速排序索引方法来创建一个索引。注释:这个参数以字节的形式给出.重建MyISAM索引(在REPAIR TABLE、ALTER TABLE或LOAD DATA INFILE过程中)时,允许MySQL使用的临时文件的最大空间大小。如果文件的大小超过该值,则使用键值缓存创建索引,要慢得多。该值的单位为字节。
myisam_repair_threads = 1    //如果该值大于1,在Repair by sorting过程中并行创建MyISAM表索引(每个索引在自己的线程内)。
myisam_recover    //允许的GROUP_CONCAT()函数结果的最大长度。
 
skip-name-resolve   //grant 时,必须使用ip不能使用主机名。
master-connect-retry = 10  //如果与主控服务器的连接没有成功,则等待n秒(s)后再进行管理方式(默认设置是60s)。如果从属服务器存在mater.info文件,它将忽略此选项。
slave-skip-errors = 1032,1062,126,1114,1146,1048,1396  //即使发生出错代码为n1、n2等的错误,镜像处理工作也继续进行(即不管发生什么错误,镜像处理工作也继续进行)。如果配置得当,从属服务器不应该在执行 SQL命令时发生错误(在主控服务器上执行出错的SQL命令不会被发送到从属服务器上做镜像处理); 如果不使用slave-skip-errors选项,从属服务器上的镜像工作就可能因为发生错误而中断,中断后需要有人工参与才能继续进行。

server-id = 1  //给服务器分配一个独一无二的ID编号; n的取值范围是1~2的32次方启用二进制日志功能。

innodb_additional_mem_pool_size = 16M  //帧缓存的控制对象需要从此处申请缓存,所以该值与innodb_buffer_pool对应。
innodb_buffer_pool_size = 1024M  //包括数据页、索引页、插入缓存、锁信息、自适应哈希所以、数据字典信息。
innodb_data_home_dir = /data/mysqldata/  //InnoDB主目录,所有与InnoDB数据表有关的目录或文件路径都相对于这个路径。在默认的情况下,这个主目录就是MySQL的数据目录。
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend  //用来容纳InnoDB为数据表的表空间: 可能涉及一个以上的文件; 每一个表空间文件的最大长度都必须以字节(B)、兆字节(MB)或千兆字节(GB)为单位给出; 表空间文件的名字必须以分号隔开; 最后一个表空间文件还可以带一个autoextend属性和一个最大长度(max:n)。例如,ibdata1:1G; ibdata2:1G:autoextend:max:2G的意思是: 表空间文件ibdata1的最大长度是1GB,ibdata2的最大长度也是1G,但允许它扩充到2GB。除文件名外,还可以用硬盘分区的设置名来定义表 空间,此时必须给表空间的最大初始长度值加上newraw关键字做后缀,给表空间的最大扩充长度值加上raw关键字做后缀(例如/dev/hdb1: 20Gnewraw或/dev/hdb1:20Graw); MySQL 4.0及更高版本的默认设置是ibdata1:10M:autoextend。#innodb_data_file_path = ibdata1:50M:autoextend   
innodb_log_group_home_dir = /data/mysqldata/  //用来存放InnoDB日志文件的目录路径(如ib_logfile0、ib_logfile1等)。在默认的情况下,InnoDB驱动程序将使用 MySQL数据目录作为自己保存日志文件的位置。
innodb_file_io_threads = 4  //I/O操作(硬盘写操作)的最大线程个数(默认设置是4)。
innodb_thread_concurrency = 8    //InnoDB驱动程序能够同时使用的最大线程个数(默认设置是8)。
innodb_flush_log_at_trx_commit = 2  //这个选项决定着什么时候把日志信息写入日志文件以及什么时候把这些文件物理地写(术语称为”同步”)到硬盘上。设置值0的意思是每隔一秒写一次日志并进行 同步,这可以减少硬盘写操作次数,但可能造成数据丢失; 设置值1(设置设置)的意思是在每执行完一条COMMIT命令就写一次日志并进行同步,这可以防止数据丢失,但硬盘写操作可能会很频繁; 设置值2是一般折衷的办法,即每执行完一条COMMIT命令写一次日志,每隔一秒进行一次同步。
innodb_log_buffer_size = 16M  //事务日志文件写操作缓存区的最大长度(默认设置是1MB)。
innodb_log_file_size = 128M   //事物日志大小.
innodb_log_files_in_group = 3 //使用多少个日志文件(默认设置是2)。InnoDB数据表驱动程序将以轮转方式依次填写这些文件; 当所有的日志文件都写满以后,之后的日志信息将写入第一个日志文件的最大长度(默认设置是5MB)。这个长度必须以MB(兆字节)或GB(千兆字节)为单 位进行设置。
innodb_max_dirty_pages_pct = 90  //innodb主线程刷新缓存池中的数据,使脏数据比例小于90%.
innodb_lock_wait_timeout = 120  //如果某个事务在等待n秒(s)后还没有获得所需要的资源,就使用ROLLBACK命令放弃这个事务。这项设置对于发现和处理未能被InnoDB数据表驱动 程序识别出来的死锁条件有着重要的意义。这个选项的默认设置是50s。
innodb_file_per_table = 0  //0表示关闭独立的表空间,1表示开启独立的表空间
[mysqldump]
quick      //不要在将内存中的整个结果写入磁盘之前缓存. 在导出非常巨大的表时需要此项 。
max_allowed_packet = 32M   //服务所能处理的请求包的最大大小以及服务所能处理的最大的请求大小(当与大的BLOB字段一起工作时相当必要),每个链接独立的大小,大小动态增加。

参考:http://blog.csdn.net/wulantian/article/details/8260423

【转】MySQL my.cnf 参数 详解的更多相关文章

  1. MySQL复制相关参数详解

    MySQL复制相关参数详解 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.复制相关系统变量 1>.server_id 是必须设置在master和每个slave上的唯一标 ...

  2. mysql的my.cnf参数详解

    转载[Mysql] MySQL配置文件my.cnf的理解 一.缘由 最近要接手数据库的维护工作,公司首选MySQL.对于MySQL的理解,我认为很多性能优化工作.主从主主复制都是在调整参数,来适应不同 ...

  3. MySql 链接url 参数详解

    最近 整理了一下网上关于MySql 链接url 参数的设置,有不正确的地方希望大家多多指教: mysql JDBC URL格式如下: jdbc:mysql://[host:port],[host:po ...

  4. mysql 优化配置参数详解

    在 my.cnf 文件中 各设置参数的含义如下: innodb_data_home_dir 这是InnoDB表的目录共用设置.如果没有在 my.cnf 进行设置,InnoDB 将使用MySQL的 da ...

  5. 【转】MySQL5.5的my.cnf 参数详解

    这篇文章很多地方只是翻译了my.cnf原始配置文件的说明 以下原文中有些参数事实上不适用于MySQL5.5,不知道原作者是否有经过实际测试,比如log-slow-queries应该写成slow-que ...

  6. mysql my.cnf配置文件详解

    本配置文件针对Dell R710,双至强E5620.16G内存的硬件配置.CentOS 5.6 64位系统,MySQL 5.5.x 稳定版.适用于日IP 50-100w,PV 100-300w的站点, ...

  7. mysql 5.6 参数详解

    系统变量提供的是各种与服务器配置和功能有关的信息.大部分的系统变量都可以在服务器启动时进行设置.在运行时,每一个系统变量都拥有一个全局值或会话值,或者同时拥有这两个值.许多系统变量都是动态的,也就是说 ...

  8. Mysql数据库配置参数详解大全

    名称 是否需要重启 值 允许值 描述 auto_increment_increment 否 1 1-65,535 auto_increment_increment和auto_increment_off ...

  9. 【MySQL】explicit_defaults_for_timestamp 参数详解

    简介:explicit_defaults_for_timestamp 系统变量决定MySQL服务端对timestamp列中的默认值和NULL值的不同处理方法. 此变量自MySQL 5.6.6 版本引入 ...

随机推荐

  1. asp.net批量下载

    1.首先读取文件夹下的文件,可能同时存在多个文件 2.选中文件,然后点击下载,同时可以选择多个文件. 思路:通过生产压缩包的形式进行下载,然后再清楚压缩包,这样用户可以一次性全部下载下来. 一.获取目 ...

  2. sh_04_累加求和

    sh_04_累加求和 # 计算 0 ~ 100 之间所有数字的累计求和结果 # 0. 定义最终结果的变量 result = 0 # 1. 定义一个整数的变量记录循环的次数 i = 0 # 2. 开始循 ...

  3. sh_01_重复执行

    sh_01_重复执行 # 打印 500 遍 Hello Python(复制粘贴的方法,手动复制500次) print("Hello Python") print("Hel ...

  4. 容器适配器————priority_queue

    #include <queue> priority_queue 容器适配器定义了一个元素有序排列的队列.默认队列头部的元素优先级最高.因为它是一个队列,所以只能访问第一个元素,这也意味着优 ...

  5. Windows和Linux下搭建J2sdk的环境

    J2SDK 作为jsp系统配置中必不可少的组件,越来越多的得到应用.下来是我整理的以往工作时搜集的资料.使用时方便查询,希望对广大的工程师有帮助. windows服务器环境下 j2sdk 的安装和环境 ...

  6. WKWebView使用指南|功能丰富的JXBWKWebView

    github地址:JXBWKWebView,如果觉得项目不错可以点个star支持一下,谢谢~ 前言 目前iOS系统已经更新到iOS11,大多数项目向下兼容最多兼容到iOS8,因此,在项目中对WebVi ...

  7. mysql 5.7 Could not load driverClass com.mysql.cj.jdbc.Driver

    参考: http://www.manongjc.com/article/24424.html https://blog.csdn.net/kingscoming/article/details/788 ...

  8. metrics+spring+influxdb

    https://www.cnblogs.com/lixyu/p/9337055.html

  9. RTMP服务器的延迟,多级边缘不影响延迟,gop为最大因素

    转自:http://blog.chinaunix.net/uid-26000296-id-4932826.html 编码器用FMLE,用手机秒表作为延迟计算. 结论: 1. 影响延迟的三个重要因素:网 ...

  10. office toolkit怎么用(以激活office professional 2013为例)

    第一步:双击打开office toolkit工具,并选择office按钮(激活windows10选择windows按钮) 第二步:选择相应的office版本,我电脑安装的是Microsoft Offi ...