乐趣区

关于shell:Mysql详细配置文件

# 目录和文件
    #装置目录
    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, ...
退出移动版