关于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, ...

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理