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

你可能感兴趣的:(shell)