My.cnf
My.cnf配置选项详解: 
mysqld程序--目录和文件
basedir = path使用给定目录作为根目录(安装目录)。
character-sets-dir = path给出存放着字符集的目录。
datadir = path从给定目录读取数据库文件。
pid-file = filename为mysqld程序指定一个存放进程ID的文件(仅适用于UNIX/Linux系
统); Init-V脚本需要使用这个文件里的进程ID结束mysqld进程。
socket = filename为MySQL客户程序与服务器之间的本地通信指定一个套接字文件(仅适用
于UNIX/Linux系统; 默认设置一般是/var/lib/mysql/mysql.sock文件)。
在Windows环境下,如果MySQL客户与服务器是通过命名管道进行通信的,--sock选项
给出的将是该命名管道的名字(默认设置是MySQL)。
lower_case_table_name = 1/0新目录和数据表的名字是否只允许使用小写字母; 这个选项
在Windows环境下的默认设置是1(只允许使用小写字母)。
mysqld程序--语言设置
character-sets-server = name新数据库或数据表的默认字符集。为了与MySQL的早期版本
保持兼容,这个字符集也可以用--default-character-set选项给出; 但这个选项已经显得有点
过时了。
collation-server = name新数据库或数据表的默认排序方式。
lanuage = name用指定的语言显示出错信息。
mysqld程序--通信、网络、信息安全
enable-named-pipes允许Windows 2000/XP环境下的客户和服务器使用命名管道(named
pipe)进行通信。这个命名管道的默认名字是MySQL,但可以用--socket选项来改变。
local-infile [=0]允许/禁止使用LOAD DATA LOCAL语句来处理本地文件。
myisam-recover [=opt1, opt2, ...]在启动时自动修复所有受损的MyISAM数据表。这个选
项的可取值有4种:DEFAULT、BACKUP、QUICK和FORCE; 它们与myisamchk程序的同名选项作用
相同。
old-passwords使用MySQL 3.23和4.0版本中的老算法来加密mysql数据库里的密码(默认
使用MySQL 4.1版本开始引入的新加密算法)。
port = n为MySQL程序指定一个TCP/IP通信端口(通常是3306端口)。
safe-user-create只有在mysql.user数据库表上拥有INSERT权限的用户才能使用GRANT
命令; 这是一种双保险机制(此用户还必须具备GRANT权限才能执行GRANT命令)。
shared-memory允许使用内存(shared memory)进行通信(仅适用于Windows)。
shared-memory-base-name = name给共享内存块起一个名字(默认的名字是MySQL)。
skip-grant-tables不使用mysql数据库里的信息来进行访问控制(警告:这将允许用户任何
用户去修改任何数据库)。
skip-host-cache不使用高速缓存区来存放主机名和IP地址的对应关系。
skip-name-resovle不把IP地址解析为主机名; 与访问控制(mysql.user数据表)有关的检
查全部通过IP地址行进。
skip-networking只允许通过一个套接字文件(Unix/Linux系统)或通过命名管道(Windows
系统)进行本地连接,不允许ICP/IP连接; 这提高了安全性,但阻断了来自网络的外部连接和所有的Java客户程序(Java客户即使在本地连接里也使用TCP/IP)。
user = namemysqld程序在启动后将在给定UNIX/Linux账户下执行; mysqld必须从root
账户启动才能在启动后切换到另一个账户下执行; mysqld_safe脚本将默认使用--user=mysql
选项来启动mysqld程序。
mysqld程序--内存管理、优化、查询缓存区
bulk_insert_buffer_size = n为一次插入多条新记录的INSERT命令分配的缓存区长度(默
认设置是8M)。
key_buffer_size = n用来存放索引区块的RMA值(默认设置是8M)。
join_buffer_size = n在参加JOIN操作的数据列没有索引时为JOIN操作分配的缓存区长度
(默认设置是128K)。
max_heap_table_size = nHEAP数据表的最大长度(默认设置是16M); 超过这个长度的HEAP
数据表将被存入一个临时文件而不是驻留在内存里。
max_connections = nMySQL服务器同时处理的数据库连接的最大数量(默认设置是100)。
query_cache_limit = n允许临时存放在查询缓存区里的查询结果的最大长度(默认设置是
1M)。
query_cache_size = n查询缓存区的最大长度(默认设置是0,不开辟查询缓存区)。
query_cache_type = 0/1/2查询缓存区的工作模式:0, 禁用查询缓存区; 1,启用查询缓存
区(默认设置); 2,"按需分配"模式,只响应SELECT SQL_CACHE命令。
read_buffer_size = n为从数据表顺序读取数据的读操作保留的缓存区的长度(默认设置是
128KB); 这个选项的设置值在必要时可以用SQL命令SET SESSION read_buffer_size = n命令
加以改变。
read_rnd_buffer_size = n类似于read_buffer_size选项,但针对的是按某种特定顺序(比
如使用了ORDER BY子句的查询)输出的查询结果(默认设置是256K)。
sore_buffer = n为排序操作分配的缓存区的长度(默认设置是2M); 如果这个缓存区太小,
则必须创建一个临时文件来进行排序。
table_cache = n同时打开的数据表的数量(默认设置是64)。
tmp_table_size = n临时HEAP数据表的最大长度(默认设置是32M); 超过这个长度的临时
数据表将被转换为MyISAM数据表并存入一个临时文件。
mysqld程序--日志
log [= file]把所有的连接以及所有的SQL命令记入日志(通用查询日志); 如果没有给出
file参数,MySQL将在数据库目录里创建一个hostname.log文件作为这种日志文件(hostname
是服务器的主机名)。
log-slow-queries [= file]把执行用时超过long_query_time变量值的查询命令记入日志
(慢查询日志); 如果没有给出file参数,MySQL将在数据库目录里创建一个hostname-slow.log
文件作为这种日志文件(hostname是服务器主机 名)。
long_query_time = n慢查询的执行用时上限(默认设置是10s)。
long_queries_not_using_indexs把慢查询以及执行时没有使用索引的查询命令全都记入日
志(其余同--log-slow-queries选项)。
log-bin [= filename]把对数据进行修改的所有SQL命令(也就是INSERT、UPDATE和DELETE
命令)以二进制格式记入日志(二进制变更日志,binary update log)。这种日志的文件名是
filename.n或默认的hostname.n,其中n是一个6位数字的整数(日志文件按顺序编号)。
log-bin-index = filename二进制日志功能的索引文件名。在默认情况下,这个索引文件与二进制日志文件的名字相同,但后缀名是.index而不是.nnnnnn。
max_binlog_size = n二进制日志文件的最大长度(默认设置是1GB)。在前一个二进制日志
文件里的信息量超过这个最大长度之前,MySQL服务器会自动提供一个新的二进制日志文件接续
上。
binlog-do-db = dbname只把给定数据库里的变化情况记入二进制日志文件,其他数据库里
的变化情况不记载。如果需要记载多个数据库里的变化情况,就必须在配置文件使用多个本选项
来设置,每个数据库一行。
binlog-ignore-db = dbname不把给定数据库里的变化情况记入二进制日志文件。
sync_binlog = n每经过n次日志写操作就把日志文件写入硬盘一次(对日志信息进行一次同
步)。n=1是最安全的做法,但效率最低。默认设置是n=0,意思是由操作系统来负责二进制日志
文件的同步工作。
log-update [= file]记载出错情况的日志文件名(出错日志)。这种日志功能无法禁用。如
果没有给出file参数,MySQL会使用hostname.err作为种日志文件的名字。
mysqld程序--镜像(主控镜像服务器)
server-id = n 给服务器分配一个独一无二的ID编号; n的取值范围是1~2的32次方启用
二进制日志功能。
log-bin = name启用二进制日志功能。这种日志的文件名是filename.n或默认的
hostname.n,其中的n是一个6位数字的整数(日志文件顺序编号)。
binlog-do/ignore-db = dbname只把给定数据库里的变化情况记入二进制日志文件/不把给
定的数据库里的变化记入二进制日志文件。
mysqld程序--镜像(从属镜像服务器)
server-id = n给服务器分配一个唯一的ID编号
log-slave-updates启用从属服务器上的日志功能,使这台计算机可以用来构成一个镜像链
(A->B->C)。
master-host = hostname主控服务器的主机名或IP地址。如果从属服务器上存在mater.info
文件(镜像关系定义文件),它将忽略此选项。
master-user = replicusername从属服务器用来连接主控服务器的用户名。如果从属服务器
上存在mater.info文件,它将忽略此选项。
master-password = passwd从属服务器用来连接主控服务器的密码。如果从属服务器上存在
mater.info文件,它将忽略此选项。
master-port = n从属服务器用来连接主控服务器的TCP/IP端口(默认设置是3306端口)。
master-connect-retry = n如果与主控服务器的连接没有成功,则等待n秒(s)后再进行管
理方式(默认设置是60s)。如果从属服务器存在mater.info文件,
它将忽略此选项。
master-ssl-xxx = xxx对主、从服务器之间的SSL通信进行配置。
read-only = 0/10: 允许从属服务器独立地执行SQL命令(默认设置); 1: 从属服务器只能
执行来自主控服务器的SQL命令。
read-log-purge = 0/11: 把处理完的SQL命令立刻从中继日志文件里删除(默认设置); 0:
不把处理完的SQL命令立刻从中继日志文件里删除。
replicate-do-table = dbname.tablename与--replicate-do-table选项的含义和用法相
同,但数据库和数据库表名字里允许出现通配符"%"
(例如: test%.%--对名字以"test"开头的所有数据库里的所以数据库表进行镜像处理)。 replicate-do-db = name    只对这个数据库进行镜像处理。
replicate-ignore-table = dbname.tablename不对这个数据表进行镜像处理。
replicate-wild-ignore-table = dbn.tablen不对这些数据表进行镜像处理。
replicate-ignore-db = dbname不对这个数据库进行镜像处理。
replicate-rewrite-db = db1name > db2name把主控数据库上的db1name数据库镜像处理为
从属服务器上的db2name数据库。
report-host = hostname从属服务器的主机名; 这项信息只与SHOW SLAVE HOSTS命令有关
--主控服务器可以用这条命令生成一份从属服务器的名单。
slave-compressed-protocol = 1主、从服务器使用压缩格式进行通信--如果它们都支持这
么做的话。
slave-skip-errors = n1, n2, ...或all    即使发生出错代码为n1、n2等的错误,镜像处理
工作也继续进行(即不管发生什么错误,镜像处理工作也继续进行)。
如果配置得当,从属服务器不应该在执行SQL命令时发生错误(在主控服务器上执行出错
的SQL命令不会被发送到从属服务器上做镜像处理); 如果不使用
slave-skip-errors选项,从属服务器上的镜像工作就可能国为发生错误而中断,中断后
需要有人工参与才能继续进行。
mysqld--InnoDB--基本设置、表空间文件
skip-innodb不加载InnoDB数据表驱动程序--如果用不着InnoDB数据表,可以用这个选项
节省一些内存。
innodb-file-per-table为每一个新数据表创建一个表空间文件而不是把数据表都集中保存
在中央表空间里(后者是默认设置)。该选项始见于MySQL 4.1。
innodb-open-file = nInnoDB数据表驱动程序最多可以同时打开的文件数(默认设置是
300)。如果使用了innodb-file-per-table选项并且需要同时打开很多
数据表的话,这个数字很可能需要加大。
innodb_data_home_dir = pInnoDB主目录,所有与InnoDB数据表有关的目录或文件路径都
相对于这个路径。在默认的情况下,这个主目录就是MySQL的数据目录。
innodb_data_file_path = ts用来容纳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_autoextend_increment = n带有autoextend属性的表空间文件每次加大多少兆字节
(默认设置是8MB)。这个属性不涉及具体的数据表文件,那些文件的
增大速度相对是比较小的。
innodb_lock_wait_timeout = n如果某个事务在等待n秒(s)后还没有获得所需要的资源,
就使用ROLLBACK命令放弃这个事务。这项设置对于发现和处理未能被
InnoDB数据表驱动程序识别出来的死锁条件有着重要的意义。这个选项的默认设置是
50s。innodb_fast_shutdown 0/1    是否以最快的速度关闭InnoDB,默认设置是1,意思是不把缓存
在INSERT缓存区的数据写入数据表,那些数据将在MySQL服务器下次
启动时再写入(这么做没有什么风险,因为INSERT缓存区是表空间的一个组成部分,数据
不会丢失)。把这个选项设置为0反面危险,因为在计算机关闭时,
InnoDB驱动程序很可能没有足够的时间完成它的数据同步工作,操作系统也许会在它完
成数据同步工作之前强行结束InnoDB,而这会导致数据不完整。
mysqld程序--InnoDB--日志
innodb_log_group_home_dir = p用来存放InnoDB日志文件的目录路径(如ib_logfile0、
ib_logfile1等)。在默认的情况下,InnoDB驱动程序将使用MySQL数据目
录作为自己保存日志文件的位置。
innodb_log_files_in_group = n使用多少个日志文件(默认设置是2)。InnoDB数据表驱动
程序将以轮转方式依次填写这些文件; 当所有的日志文件都写满以后,
之后的日志信息将写入第一个日志文件的最大长度(默认设置是5MB)。这个长度必须以
MB(兆字节)或GB(千兆字节)为单位进行设置。
innodb_flush_log_at_trx_commit = 0/1/2这个选项决定着什么时候把日志信息写入日志文
件以及什么时候把这些文件物理地写(术语称为"同步")到硬盘上。
设置值0的意思是每隔一秒写一次日志并进行同步,这可以减少硬盘写操作次数,但可能
造成数据丢失; 设置值1(设置设置)的意思是在每执行完一条COMMIT
命令就写一次日志并进行同步,这可以防止数据丢失,但硬盘写操作可能会很频繁; 设置
值2是一般折衷的办法,即每执行完一条COMMIT命令写一次日志,
每隔一秒进行一次同步。
innodb_flush_method = xInnoDB日志文件的同步办法(仅适用于UNIX/Linux系统)。这个
选项的可取值有两种: fdatasync,用fsync()函数进行同步; O_DSYNC,
用O_SYNC()函数进行同步。
innodb_log_archive = 1启用InnoDB驱动程序的archive(档案)日志功能,把日志信息写
入ib_arch_log_n文件。启用这种日志功能在InnoDB与MySQL一起使用时没有
多大意义(启用MySQL服务器的二进制日志功能就足够用了)。
mysqld程序--InnoDB--缓存区的设置和优化
innodb_log_buffer_pool_size = n为InnoDB数据表及其索引而保留的RAM内存量(默认设
置是8MB)。这个参数对速度有着相当大的影响,如果计算机上只运行有
MySQL/InnoDB数据库服务器,就应该把全部内存的80%用于这个用途。
innodb_log_buffer_size = n事务日志文件写操作缓存区的最大长度(默认设置是1MB)。
innodb_additional_men_pool_size = n为用于内部管理的各种数据结构分配的缓存区最大
长度(默认设置是1MB)。
innodb_file_io_threads = nI/O操作(硬盘写操作)的最大线程个数(默认设置是4)。
innodb_thread_concurrency = nInnoDB驱动程序能够同时使用的最大线程个数(默认设置
是8)。
mysqld程序--其它选项
bind-address = ipaddrMySQL服务器的IP地址。如果MySQL服务器所在的计算机有多个IP
地址,这个选项将非常重要。
default-storage-engine = type新数据表的默认数据表类型(默认设置是MyISAM)。这项设置还可以通过--default-table-type选项来设置。
default-timezone = name为MySQL服务器设置一个地理时区(如果它与本地计算机的地理时
区不一样)。
ft_min_word_len = n全文索引的最小单词长度工。这个选项的默认设置是4,意思是在创
建全文索引时不考虑那些由3个或更少的字符构建单词。
Max-allowed-packet = n客户与服务器之间交换的数据包的最大长度,这个数字至少应该大
于客户程序将要处理的最大BLOB块的长度。这个选项的默认设置是1MB。
Sql-mode = model1, mode2, ...MySQL将运行在哪一种SQL模式下。这个选项的作用是让
MySQL与其他的数据库系统保持最大程度的兼容。这个选项的可取值包括
ansi、db2、oracle、no_zero_date、pipes_as_concat。
mysqld程序--目录和文件
basedir = path使用给定目录作为根目录(安装目录)。
character-sets-dir = path给出存放着字符集的目录。
datadir = path从给定目录读取数据库文件。
pid-file = filename为mysqld程序指定一个存放进程ID的文件(仅适用于UNIX/Linux系
统); Init-V脚本需要使用这个文件里的进程ID结束mysqld进程。
socket = filename为MySQL客户程序与服务器之间的本地通信指定一个套接字文件(仅适用
于UNIX/Linux系统; 默认设置一般是/var/lib/mysql/mysql.sock文件)。
在Windows环境下,如果MySQL客户与服务器是通过命名管道进行通信的,--sock选项
给出的将是该命名管道的名字(默认设置是MySQL)。
lower_case_table_name = 1/0新目录和数据表的名字是否只允许使用小写字母; 这个选项
在Windows环境下的默认设置是1(只允许使用小写字母)。
mysqld程序--语言设置
character-sets-server = name新数据库或数据表的默认字符集。为了与MySQL的早期版本
保持兼容,这个字符集也可以用--default-character-set选项给出; 但这个选项已经显得有点
过时了。
collation-server = name新数据库或数据表的默认排序方式。
lanuage = name用指定的语言显示出错信息。
mysqld程序--通信、网络、信息安全
enable-named-pipes允许Windows 2000/XP环境下的客户和服务器使用命名管道(named
pipe)进行通信。这个命名管道的默认名字是MySQL,但可以用--socket选项来改变。
local-infile [=0]允许/禁止使用LOAD DATA LOCAL语句来处理本地文件。
myisam-recover [=opt1, opt2, ...]在启动时自动修复所有受损的MyISAM数据表。这个选
项的可取值有4种:DEFAULT、BACKUP、QUICK和FORCE; 它们与myisamchk程序的同名选项作用
相同。
old-passwords使用MySQL 3.23和4.0版本中的老算法来加密mysql数据库里的密码(默认
使用MySQL 4.1版本开始引入的新加密算法)。
port = n为MySQL程序指定一个TCP/IP通信端口(通常是3306端口)。
safe-user-create只有在mysql.user数据库表上拥有INSERT权限的用户才能使用GRANT
命令; 这是一种双保险机制(此用户还必须具备GRANT权限才能执行GRANT命令)。 shared-memory    允许使用内存(shared memory)进行通信(仅适用于Windows)。
shared-memory-base-name = name给共享内存块起一个名字(默认的名字是MySQL)。
skip-grant-tables不使用mysql数据库里的信息来进行访问控制(警告:这将允许用户任何
用户去修改任何数据库)。
skip-host-cache不使用高速缓存区来存放主机名和IP地址的对应关系。
skip-name-resovle不把IP地址解析为主机名; 与访问控制(mysql.user数据表)有关的检
查全部通过IP地址行进。
skip-networking只允许通过一个套接字文件(Unix/Linux系统)或通过命名管道(Windows
系统)进行本地连接,不允许ICP/IP连接; 这提高了安全性,但阻断了来自网络的外部连接和所
有的Java客户程序(Java客户即使在本地连接里也使用TCP/IP)。
user = namemysqld程序在启动后将在给定UNIX/Linux账户下执行; mysqld必须从root
账户启动才能在启动后切换到另一个账户下执行; mysqld_safe脚本将默认使用--user=mysql
选项来启动mysqld程序。
mysqld程序--内存管理、优化、查询缓存区
bulk_insert_buffer_size = n为一次插入多条新记录的INSERT命令分配的缓存区长度(默
认设置是8M)。
key_buffer_size = n用来存放索引区块的RMA值(默认设置是8M)。
join_buffer_size = n在参加JOIN操作的数据列没有索引时为JOIN操作分配的缓存区长度
(默认设置是128K)。
max_heap_table_size = nHEAP数据表的最大长度(默认设置是16M); 超过这个长度的HEAP
数据表将被存入一个临时文件而不是驻留在内存里。
max_connections = nMySQL服务器同时处理的数据库连接的最大数量(默认设置是100)。
query_cache_limit = n允许临时存放在查询缓存区里的查询结果的最大长度(默认设置是
1M)。
query_cache_size = n查询缓存区的最大长度(默认设置是0,不开辟查询缓存区)。
query_cache_type = 0/1/2查询缓存区的工作模式:0, 禁用查询缓存区; 1,启用查询缓存
区(默认设置); 2,"按需分配"模式,只响应SELECT SQL_CACHE命令。
read_buffer_size = n为从数据表顺序读取数据的读操作保留的缓存区的长度(默认设置是
128KB); 这个选项的设置值在必要时可以用SQL命令SET SESSION read_buffer_size = n命令
加以改变。
read_rnd_buffer_size = n类似于read_buffer_size选项,但针对的是按某种特定顺序(比
如使用了ORDER BY子句的查询)输出的查询结果(默认设置是256K)。
sore_buffer = n为排序操作分配的缓存区的长度(默认设置是2M); 如果这个缓存区太小,
则必须创建一个临时文件来进行排序。
table_cache = n同时打开的数据表的数量(默认设置是64)。
tmp_table_size = n临时HEAP数据表的最大长度(默认设置是32M); 超过这个长度的临时
数据表将被转换为MyISAM数据表并存入一个临时文件。
mysqld程序--日志
log [= file]把所有的连接以及所有的SQL命令记入日志(通用查询日志); 如果没有给出
file参数,MySQL将在数据库目录里创建一个hostname.log文件作为这种日志文件(hostname
是服务器的主机名)。
log-slow-queries [= file]把执行用时超过long_query_time变量值的查询命令记入日志(慢查询日志); 如果没有给出file参数,MySQL将在数据库目录里创建一个hostname-slow.log
文件作为这种日志文件(hostname是服务器主机 名)。
long_query_time = n慢查询的执行用时上限(默认设置是10s)。
long_queries_not_using_indexs把慢查询以及执行时没有使用索引的查询命令全都记入日
志(其余同--log-slow-queries选项)。
log-bin [= filename]把对数据进行修改的所有SQL命令(也就是INSERT、UPDATE和DELETE
命令)以二进制格式记入日志(二进制变更日志,binary update log)。这种日志的文件名是
filename.n或默认的hostname.n,其中n是一个6位数字的整数(日志文件按顺序编号)。
log-bin-index = filename二进制日志功能的索引文件名。在默认情况下,这个索引文件与
二进制日志文件的名字相同,但后缀名是.index而不是.nnnnnn。
max_binlog_size = n二进制日志文件的最大长度(默认设置是1GB)。在前一个二进制日志
文件里的信息量超过这个最大长度之前,MySQL服务器会自动提供一个新的二进制日志文件接续
上。
binlog-do-db = dbname只把给定数据库里的变化情况记入二进制日志文件,其他数据库里
的变化情况不记载。如果需要记载多个数据库里的变化情况,就必须在配置文件使用多个本选项
来设置,每个数据库一行。
binlog-ignore-db = dbname不把给定数据库里的变化情况记入二进制日志文件。
sync_binlog = n每经过n次日志写操作就把日志文件写入硬盘一次(对日志信息进行一次同
步)。n=1是最安全的做法,但效率最低。默认设置是n=0,意思是由操作系统来负责二进制日志
文件的同步工作。
log-update [= file]记载出错情况的日志文件名(出错日志)。这种日志功能无法禁用。如
果没有给出file参数,MySQL会使用hostname.err作为种日志文件的名字。
mysqld程序--镜像(主控镜像服务器)
server-id = n给服务器分配一个独一无二的ID编号; n的取值范围是1~2的32次方启用
二进制日志功能。
log-bin = name启用二进制日志功能。这种日志的文件名是filename.n或默认的
hostname.n,其中的n是一个6位数字的整数(日志文件顺序编号)。
binlog-do/ignore-db = dbname只把给定数据库里的变化情况记入二进制日志文件/不把给
定的数据库里的变化记入二进制日志文件。
mysqld程序--镜像(从属镜像服务器)
server-id = n给服务器分配一个唯一的ID编号
log-slave-updates启用从属服务器上的日志功能,使这台计算机可以用来构成一个镜像链
(A->B->C)。
master-host = hostname主控服务器的主机名或IP地址。如果从属服务器上存在mater.info
文件(镜像关系定义文件),它将忽略此选项。
master-user = replicusername从属服务器用来连接主控服务器的用户名。如果从属服务器
上存在mater.info文件,它将忽略此选项。
master-password = passwd从属服务器用来连接主控服务器的密码。如果从属服务器上存在
mater.info文件,它将忽略此选项。
master-port = n从属服务器用来连接主控服务器的TCP/IP端口(默认设置是3306端口)。
master-connect-retry = n如果与主控服务器的连接没有成功,则等待n秒(s)后再进行管
理方式(默认设置是60s)。如果从属服务器存在mater.info文件,       它将忽略此选项。
master-ssl-xxx = xxx对主、从服务器之间的SSL通信进行配置。
read-only = 0/10: 允许从属服务器独立地执行SQL命令(默认设置); 1: 从属服务器只能
执行来自主控服务器的SQL命令。
read-log-purge = 0/11: 把处理完的SQL命令立刻从中继日志文件里删除(默认设置); 0:
不把处理完的SQL命令立刻从中继日志文件里删除。
replicate-do-table = dbname.tablename与--replicate-do-table选项的含义和用法相
同,但数据库和数据库表名字里允许出现通配符"%"
(例如: test%.%--对名字以"test"开头的所有数据库里的所以数据库表进行镜像处理)。
replicate-do-db = name只对这个数据库进行镜像处理。
replicate-ignore-table = dbname.tablename不对这个数据表进行镜像处理。
replicate-wild-ignore-table = dbn.tablen不对这些数据表进行镜像处理。
replicate-ignore-db = dbname不对这个数据库进行镜像处理。
replicate-rewrite-db = db1name > db2name把主控数据库上的db1name数据库镜像处理为
从属服务器上的db2name数据库。
report-host = hostname从属服务器的主机名; 这项信息只与SHOW SLAVE HOSTS命令有关
--主控服务器可以用这条命令生成一份从属服务器的名单。
slave-compressed-protocol = 1主、从服务器使用压缩格式进行通信--如果它们都支持这
么做的话。
slave-skip-errors = n1, n2, ...或all    即使发生出错代码为n1、n2等的错误,镜像处理
工作也继续进行(即不管发生什么错误,镜像处理工作也继续进行)。
如果配置得当,从属服务器不应该在执行SQL命令时发生错误(在主控服务器上执行出错
的SQL命令不会被发送到从属服务器上做镜像处理); 如果不使用
slave-skip-errors选项,从属服务器上的镜像工作就可能国为发生错误而中断,中断后
需要有人工参与才能继续进行。
mysqld--InnoDB--基本设置、表空间文件
skip-innodb不加载InnoDB数据表驱动程序--如果用不着InnoDB数据表,可以用这个选项
节省一些内存。
innodb-file-per-table为每一个新数据表创建一个表空间文件而不是把数据表都集中保存
在中央表空间里(后者是默认设置)。该选项始见于MySQL 4.1。
innodb-open-file = nInnoDB数据表驱动程序最多可以同时打开的文件数(默认设置是
300)。如果使用了innodb-file-per-table选项并且需要同时打开很多
数据表的话,这个数字很可能需要加大。
innodb_data_home_dir = pInnoDB主目录,所有与InnoDB数据表有关的目录或文件路径都
相对于这个路径。在默认的情况下,这个主目录就是MySQL的数据目录。
innodb_data_file_path = ts用来容纳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_autoextend_increment = n带有autoextend属性的表空间文件每次加大多少兆字节
(默认设置是8MB)。这个属性不涉及具体的数据表文件,那些文件的
增大速度相对是比较小的。
innodb_lock_wait_timeout = n如果某个事务在等待n秒(s)后还没有获得所需要的资源,
就使用ROLLBACK命令放弃这个事务。这项设置对于发现和处理未能被
InnoDB数据表驱动程序识别出来的死锁条件有着重要的意义。这个选项的默认设置是
50s。
innodb_fast_shutdown 0/1是否以最快的速度关闭InnoDB,默认设置是1,意思是不把缓存
在INSERT缓存区的数据写入数据表,那些数据将在MySQL服务器下次
启动时再写入(这么做没有什么风险,因为INSERT缓存区是表空间的一个组成部分,数据
不会丢失)。把这个选项设置为0反面危险,因为在计算机关闭时,
InnoDB驱动程序很可能没有足够的时间完成它的数据同步工作,操作系统也许会在它完
成数据同步工作之前强行结束InnoDB,而这会导致数据不完整。
mysqld程序--InnoDB--日志
innodb_log_group_home_dir = p用来存放InnoDB日志文件的目录路径(如ib_logfile0、
ib_logfile1等)。在默认的情况下,InnoDB驱动程序将使用MySQL数据目
录作为自己保存日志文件的位置。
innodb_log_files_in_group = n使用多少个日志文件(默认设置是2)。InnoDB数据表驱动
程序将以轮转方式依次填写这些文件; 当所有的日志文件都写满以后,
之后的日志信息将写入第一个日志文件的最大长度(默认设置是5MB)。这个长度必须以
MB(兆字节)或GB(千兆字节)为单位进行设置。
innodb_flush_log_at_trx_commit = 0/1/2这个选项决定着什么时候把日志信息写入日志文
件以及什么时候把这些文件物理地写(术语称为"同步")到硬盘上。设置值0的意思是每隔一秒写
一次日志并进行同步,这可以减少硬盘写操作次数,但可能造成数据丢失; 设置值1(设置设置)
的意思是在每执行完一条COMMIT命令就写一次日志并进行同步,这可以防止数据丢失,但硬盘
写操作可能会很频繁; 设置值2是一般折衷的办法,即每执行完一条COMMIT命令写一次日志,
每隔一秒进行一次同步。innodb_flush_method = x    InnoDB日志文件的同步办法(仅适用于
UNIX/Linux系统)。这个选项的可取值有两种: fdatasync,用fsync()函数进行同步; O_DSYNC,
用O_SYNC()函数进行同步。nnodb_log_archive = 1    启用InnoDB驱动程序的archive(档案)
日志功能,把日志信息写入ib_arch_log_n文件。启用这种日志功能在InnoDB与MySQL一起使
用时没有多大意义(启用MySQL服务器的二进制日志功能就足够用了)。
mysqld程序--InnoDB--缓存区的设置和优化
innodb_log_buffer_pool_size = n为InnoDB数据表及其索引而保留的RAM内存量(默认设
置是8MB)。这个参数对速度有着相当大的影响,如果计算机上只运行有
MySQL/InnoDB数据库服务器,就应该把全部内存的80%用于这个用途。
innodb_log_buffer_size = n事务日志文件写操作缓存区的最大长度(默认设置是1MB)。
innodb_additional_men_pool_size = n为用于内部管理的各种数据结构分配的缓存区最大
长度(默认设置是1MB)。
innodb_file_io_threads = nI/O操作(硬盘写操作)的最大线程个数(默认设置是4)。
innodb_thread_concurrency = nInnoDB驱动程序能够同时使用的最大线程个数(默认设置是8)。
mysqld程序--其它选项
bind-address = ipaddrMySQL服务器的IP地址。如果MySQL服务器所在的计算机有多个IP
地址,这个选项将非常重要。
default-storage-engine = type新数据表的默认数据表类型(默认设置是MyISAM)。这项设
置还可以通过--default-table-type选项来设置。
default-timezone = name为MySQL服务器设置一个地理时区(如果它与本地计算机的地理时
区不一样)。
ft_min_word_len = n全文索引的最小单词长度工。这个选项的默认设置是4,意思是在创
建全文索引时不考虑那些由3个或更少的字符构建单词。
Max-allowed-packet = n客户与服务器之间交换的数据包的最大长度,这个数字至少应该大
于客户程序将要处理的最大BLOB块的长度。这个选项的默认设置是1MB。
Sql-mode = model1, mode2, ...MySQL将运行在哪一种SQL模式下。这个选项的作用是让
MySQL与其他的数据库系统保持最大程度的兼容。这个选项的可取值包括
ansi、db2、oracle、no_zero_date、pipes_as_concat。 

转载于:https://blog.51cto.com/youboy/1009398

mysql配置文件参数详解 my.cnf相关推荐

  1. MySQL配置文件参数详解

    [client] port = 3307 socket = /usr/local/mysql5_6/mysql.sock default-character-set=utf8 [mysql] prom ...

  2. mysql配置文件参数详解_MySQL配置文件mysql.ini参数详解

    [mysqld] port=3306 mysql服务端默认监听(listen on)的TCP/IP端口 basedir="C:/Program Files/MySQL/MySQL Serve ...

  3. mysql --skip-locking_skip-external-locking – MySQL性能参数详解

    skip-external-locking – MySQL性能参数详解 MySQL的配置文件my.cnf中默认存在一行skip-external-locking的参数,即"跳过外部锁定&qu ...

  4. shell编程系列23--shell操作数据库实战之mysql命令参数详解

    shell编程系列23--shell操作数据库实战之mysql命令参数详解mysql命令参数详解-u 用户名-p 用户密码-h 服务器ip地址-D 连接的数据库-N 不输出列信息-B 使用tab键代替 ...

  5. Linux网卡配置文件-参数详解

    Linux网卡配置文件-参数详解 DEVICE=eth0 #指出网卡名称比如这个是eth0 NM_CONTROLLED=yes #network mamager的参数,实时生效,不需要重启,表示是否受 ...

  6. CI流水线配置文件参数详解(二)

    文章目录 4. 参数详解(二) 4.9 git tag打标签的使用 4.10 ``allow_failure`` 4.11 ``when`` 关键字用于实现在作业失败时或发生故障时运行的作业 (whe ...

  7. mysql innodb_log_group_home_dir_InnoDB参数详解

    1.查询5.5版本的InnoDB参数并注释: [root@localhost etc]# grep -i innodb my.cnf; t_innodb; otherwise, slaves may ...

  8. Linux ❀ Rsyslog(Syslog)服务与配置文件参数详解

    文章目录 1.日志服务简介 2.linux系统中的常见日志 3.日志服务Rsyslog (1)服务对应rpm包 (2)服务配置文件 (3)配置文件格式 服务名称 连接符号 日志等级 日志记录位置 (4 ...

  9. CI流水线配置文件参数详解(一)

    文章目录 4. 参数详解(一) 4.1 ``script`` 4.2 ``image`` 指定使用Docker镜像.如 ``iamge:name`` ,暂时忽略. 4.3 ``before_scrip ...

最新文章

  1. 从苦逼撸代码到年入上百亿,成为商界领袖,IT从业者想要通过自己的努力改变现状,只靠单纯写代码远远不够...
  2. 大数据将改变信息生命周期管理
  3. decose oracle_oracle 内存与进程
  4. Angel Borja博士教你如何撰写科学论文一:Six things to do before writing your manuscript
  5. Android 跨进程通信: AIDL
  6. SpringMVC的数据响应-回写数据-返回对象或集合(应用)
  7. Vue学习小案例--分页组件封装
  8. centos7搭建Linux集群,CentOS 7下Kafka集群安装
  9. Java日期型集合排序
  10. token 微信access 过期_如何设计 QQ、微信等第三方账号登陆 ?以及设计数据库表!...
  11. 主题:web.config中AppSettings和ConnectionStrings的区别
  12. ML~线性代数~python
  13. SQL Server数据库
  14. 手顺解决 Foxmail7.2 无法搜索“主题”和“全文”,只能搜“发件人”和“收件人” 问题
  15. python 中文乱码问题深入分析
  16. 公众号引用js sdk ios兼容问题 报 permission value is offline verifying
  17. English_do
  18. 中国大学mooc中JAVA的答案_中国大学mooc2020Java程序设计题目答案
  19. 【硕士论文】《动态场景下的语义三维地图构建 》西南科技大学 余东应
  20. 彻底删除Cygwin

热门文章

  1. box-sizing布局(简要介绍)
  2. 深入理解CSS Media媒体查询
  3. LR 监控mysql
  4. 【原】oracle external table
  5. Q91:真实地模拟透明材质(Realistic Transparency)(4)——Fish Bowl
  6. Q77:怎么用Ray Tracing画仿射变换之后的图形
  7. 问题二十一:怎么模拟ray tracing图形中不同材料的颜色(diffuse and metal)
  8. 大数据分析的作用有哪些
  9. 数据标准在数据治理中的意义
  10. 查看exe代码_【安全风险通告】Windows Type 1字体解析远程代码执行漏洞安全风险通告...