# 目录和文件
#装置目录
basedir = path
#字符集目录
character-sets-dir = path
#数据目录
datadir = path
#PID 文件
pid-file = filename
#C/ S 间的本地通信套接字文件,默认 /var/lib/mysql/mysql.sock 文件
socket = filename
#新数据是否开启大小写(1:开 0:关)
lower_case_table_name = 1/0
#语言设置
#数据库 or 数据表 - 默认字符集
character-sets-server = name
#数据库 or 数据表 - 默认排序形式
collation-server = name
#指定报错信息的 - 应用语言
lanuage = name
#通信、网络、信息安全
#容许 Windows 2000/XP 环境下的客户和服务器应用命名管道 (named pipe) 进行通信。#默认名 MySQL,但可用 --socket 选项来扭转。enable-named-pipes
#容许 / 禁止应用 LOAD DATA LOCAL 语句来解决本地文件。local-infile [=0]
#启动时主动修复受损的 MyISAM 数据表[DEFAULT、BACKUP、QUICK 和 FORCE], 与 myisamchk 程序的同名选项作用雷同
myisam-recover [=opt1, opt2, ...]
#老版本算法加密明码 - 默认 MySQL 4.1 的新加密算法
old-passwords
#MySQL 程序指定一个 TCP/IP 通信端口
port = 3306
#只有 mysql.user 数据表上有 INSERT 权限的用户能力应用 GRANT 命令;
#这是一种双保险机制(此用户还必须具备 GRANT 权限能力执行 GRANT 命令)。safe-user-create
#应用内存 (shared memory) 进行通信(仅实用于 Windows)。shared-memory
#共享内存块命名 - 默认 MySQL
shared-memory-base-name = name
#遗记明码时用(容许用户任何用户去批改任何数据库),很危险
skip-grant-tables
#不必高速缓存区来寄存 (主机名 <--->IP 地址) 对应关系
skip-host-cache
#IP 地址不解析为主机名
#与访问控制 (mysql.user 数据表) 无关的查看全副通过 IP 地址前进。skip-name-resovle
#只容许一个套接字 or 命名管道 (windows) 进行连贯
#不容许 ICP/IP 连贯,这进步了安全性
#但阻断了来自网络的内部连贯和所有的 Java 客户程序(Java 客户即便在本地连接里也应用 TCP/IP)。skip-networking
#可执行数据库的权限用户,正文:mysqld 必须从 root 账户启动,而后切换其余用户执行
user = mysql
#内存治理、优化、查问缓存区
#单次插入多记录的 INSERT 命令调配的缓存区长度 - 默认 8M
bulk_insert_buffer_size = 8
#寄存索引区块的 RAM 值 - 默认 8M
key_buffer_size = 8
#JOIN 数据列无索引时,调配的缓存区长度 - 默认 128k
join_buffer_size = n
#HEAP 数据表的最大长 -(默认设置是 16M,超出 HEAP 数据表将被存入一个临时文件,非驻留内存
max_heap_table_size = n
#服务端并发解决的连贯下限 - 默认 100
max_connections = n
#容许长期寄存在查问缓存区里的查问后果的最大长度 - 默认设置是 1M)
query_cache_limit = n
#查问缓存区的最大长度 - 默认设置是 0,不开拓查问缓存区
query_cache_size = n
#查问缓存区的 - 工作模式
#| 0 禁用查问缓存区
#| 1 启用查问缓存区(默认设置)
#| 2 "按需分配" 模式,只响应 SELECT SQL_CACHE 命令
query_cache_type = 0/1/2
#程序读取数据的读操作保留的缓存区的长度(默认设置是 128KB
#可用 SQL 命令 SET SESSION read_buffer_size = n 命令加以扭转
read_buffer_size = n
#相似于 read_buffer_size 选项,但针对的是按某种特定程序 (比方应用了 ORDER BY 子句的查问) 输入的查问后果(默认设置是 256K)
read_rnd_buffer_size = n
#排序操作调配的缓存区的长度(默认设置是 2M), 若缓存过小,需创立长期缓存文件进行排序
sore_buffer = n
#同时关上的数据表的数量(默认设置是 64)
table_cache = n
#长期 HEAP 数据表的最大长度(默认设置是 32M)
#超过这个长度的长期数据表将被转换为 MyISAM 数据表并存入一个临时文件。tmp_table_size = n
#日志
#把所有的连贯以及所有的 SQL 命令记入日志(通用查问日志);
#若无 file 参数,主动在数据库目录创立 hostname.log 文件
log [= file]
#超过 long_query_time 变量值的查问命令记入日志(慢查问日志)
#若无 file 参数,主动在数据库目录创立 hostname-slow.log 文件
log-slow-queries [= file]
#慢查问的执行用时下限(默认设置是 10s)
long_query_time = n
#把慢查问以及执行时没有应用索引的查问命令全都记入日志
long_queries_not_using_indexs
#所有批改 sql 的命令已二进制写入日志
#(二进制变更日志,binary update log)。#默认 filename.n 或默认的 hostname.n,#其中 n 是一个 6 位数字的整数(日志文件按程序编号)。log-bin [= filename]
## 二进制日志性能的索引文件名,默认索引文件与二进制日志文件的名字雷同为.index
log-bin-index = filename
#二进制日志文件的最大长度(默认设置是 1GB),超量会主动创立新的接续
max_binlog_size = n
#记录指定数据库日志
binlog-do-db = dbname1,dbname2,.....
#疏忽记录指定数据库日志
binlog-ignore-db = dbname1,dbname2.....
#日志达到写入次数就写入硬盘(日志信息同步)# n = 0 默认,由操作系统来负责二进制日志文件的同步工作
# n = 1 是最平安的做法,但效率最低
sync_binlog = n
#记录出错状况的日志文件名(出错日志)。hostname.err
log-update [= file]
#镜像(主控镜像服务器)
#数据库惟一 ID,范畴[1-2^32 次方]
server-id = n
#启用二进制文件,默认 filename.n [n 为程序编号]
log-bin = name
#记录指定数据库日志
binlog-do-db = dbname1,dbname2,.....
#疏忽记录指定数据库日志
binlog-ignore-db = dbname1,dbname2.....
#镜像(隶属镜像服务器)
#数据库惟一 ID,范畴[1-2^32 次方]
server-id = n
#启用节点数据库的日志性能,(A->B->C)镜像链
#若存在 mater.info 文件,将疏忽以下选项
log-slave-updates
#主数据库的:主机名或 IP 地址,master-host = hostname
#node 数据库连贯 master 数据库的用户名
master-user = replicusername
#node 数据库连贯 master 数据库的明码
master-password = passwd
#node 数据库连贯 master 数据库的 TCP/IP 端口(默认设置是 3306 端口)
master-port = n
#node 数据库连贯 master 数据库失败后的等待时间,(默认设置是 60s)
master-connect-retry = n
#主从服务器启用 ssl 通信配置
master-ssl-xxx = xxx
#node 数据库是否容许独立执行 SQL(默认:0)敞开,SQL 起源必须是 master
read-only = 0/1。#从中继日志文件删除执行完的 SQL 命令(默认:0)read-log-purge = 0/1
#是否容许通配符 "%" 存在,(某)数据库名.(所有)数据库表
#test%.%-- 对名字以 "test" 结尾的所有数据库里的所有数据库表进行镜像解决
replicate-do-table = dbname.tablename
#同步指定数据库
replicate-do-db = name
#排除同步数据表
replicate-ignore-table = dbname.tablename
#该设置过滤数据库表更好
replicate-wild-ignore-table = dbname.tablename
#排除同步数据库
replicate-ignore-db = dbname
#指定 master 服务器的 xxx 数据库同步到 node 服务器的 xxx 数据库
replicate-rewrite-db = db1name > db2name
#node 数据库的主机名,主服务器应用 SHOW SLAVE HOSTS 可生成隶属服务器的名单
report-host = hostname
#主从数据库以压缩格局进行通信,如果都反对
slave-compressed-protocol = 1
#产生出错代码为 n1、n2 等的谬误,不论任何谬误,node 数据库持续工作
#如果配置切当,隶属服务器不应该在执行 SQL 命令时产生谬误(在主控服务器上执行出错的 SQL 命令不会被发送到隶属服务器上做镜像解决); 如果不应用 slave-skip-errors 选项,隶属服务器上的镜像工作就可能因为产生谬误而中断,中断后须要有人工参加能力持续进行。slave-skip-errors = n1, n2, ... 或 all
#InnoDB
#根本设置、表空间文件
#不加载 InnoDB 数据表驱动程序,若不必 skip-innodb 可节俭内存
skip-innodb
#新数据库主动创立表空间文件,默认 - 地方表空间,该选项始见于 MySQL 4.1
innodb-file-per-table
#InnoDB 数据表驱动程序并发关上文件数(默认 300),若应用 innodb-file-per-table,定量很大
innodb-open-file = n
#InnoDB 主目录,个别为为 mysql 的数据目录
innodb_data_home_dir = p
#InnoDB 为数据表的表空间容量
#表空间文件的名字必须以分号隔开
#每一个表空间文件的最大长度都必须以字节 (B)、兆字节(MB) 或千兆字节 (GB) 为单位给出
#最初一个表空间文件可自定义范畴例如,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 = ts
#autoextend 属性的表空间文件每次加大多少兆字节(默认设置是 8MB),# 该属性不波及具体的数据表文件,那些文件的增大速度绝对是比拟小的。innodb_autoextend_increment = n
#事务期待 N 秒依然无奈获取需要资源,则 ROLLBACK 放弃该事务
#这项设置对于发现和解决未能被 InnoDB 数据表驱动 程序辨认进去的死锁条件有着重要的意义。#这个选项的默认设置是 50s
innodb_lock_wait_timeout = n
#最快速度敞开 InnoDB,默认 1,即(不把缓存在 INSERT 缓存区的数据写入数据表)#数据于下次 mysql 启动时再写入,数据不会失落
#选项设置为 0 时,若零碎关机时,InnoDB 驱动程序未实现数据同步,零碎会强行敞开导致数据不残缺
innodb_fast_shutdown 0/1
#InnoDB-- 日志
#InnoDB 日志文件的目录门路,默认应用 MySQL 数据目录作为本人保留日志文件的地位
innodb_log_group_home_dir = p
#日志文件数量(默认 2),InnoDB 数据表驱动程序将以轮转形式顺次填写这些文件
## 当所有的日志文件都写满当前,之后的日志信息将写入第一个日志文件的最大长度(默认设置是 5MB)。#长度单位以 MB(兆字节)或 GB(千兆字节)设置
innodb_log_files_in_group = n
#(信息写入文件,文件写入硬盘)工作频率
# 0 间隙 1s 写入文件,缩小硬盘写操作次数,但可能造成数据失落;
# 1 每一条 COMMIT 命令实现写入文件,避免数据失落,但硬盘写操作可能会很频繁;
# 2 每一条 COMMIT 命令实现写一次日志,再每隔一秒进行一次写入硬盘。innodb_flush_log_at_trx_commit = 0/1/2
#InnoDB 日志文件的同步方法 [fdatasync/O_DSYNC]仅实用于 UNIX/Linux 零碎
innodb_flush_method = x
#启用 InnoDB 驱动程序的 archive(档案)日志性能,把日志信息写入 ib_arch_log_n 文件
#InnoDB 与 MySQL 一起应用时没有多大意义, 启用 MySQL 服务器的二进制日志性能就足够用了
innodb_log_archive = 1
#InnoDB-- 缓存区的设置和优化
#数据表及其索引而保留的 RAM 内存量(默认设置是 8MB)
### 该参数很影响速度,若只运行有 MySQL/InnoDB 数据库服务器,应设置全副内存的 80%
innodb_log_buffer_pool_size = n
#事务日志文件写操作缓存区的最大长度(默认设置是 1MB)
innodb_log_buffer_size = n
#外部治理的各种数据结构调配的缓存区最大长度(默认设置是 1MB)
innodb_additional_men_pool_size = n
#I/ O 操作 (硬盘写操作) 的最大线程个数(默认设置是 4)
innodb_file_io_threads = n
#并发最大线程个数(默认设置是 8)
innodb_thread_concurrency = n
#其它选项
#MySQL 服务器的 IP 地址,若有多个 IP,该选项很重要
bind-address = ipaddr
#新数据表的默认类型(默认 MyISAM)default-storage-engine = type
#天文时区,(若与本机不同,即可设置)default-timezone = name
#全文索引的最小单词长度(默认为 4),创立全文索引时不思考那些由 3 个或更少的字符构建单词
ft_min_word_len = n
#c/ s 之间替换数据包的最大长度,至多大于客户程序将要解决的最大 BLOB 块的长度,默认 1MB
Max-allowed-packet = n
#以哪种 SQL 模式下运行
#这个选项的作用是让 MySQL 与其余的数据库系统放弃最大水平的兼容
#这个选项的可取值包含 ansi、db2、oracle、no_zero_date、pipes_as_concat。Sql-mode = model1, mode2, ...