MySQL在Linux系统下配置文件及日志详解(3)

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/1   0: 允许从属服务器独立地执行SQL命令(默认设置); 1: 从属服务器只能执行来自主控服务器的SQL命令。  
read-log-purge = 0/1   1: 把处理完的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 = n   InnoDB数据表驱动程序最多可以同时打开的文件数(默认设置是300)。如果使用了innodb-file-per-table选项并且需要同时打开很多数据表的话,这个数字很可能需要加大。  
innodb_data_home_dir = p   InnoDB主目录,所有与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,而这会导致数据不完整。  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/08753820cbdbd55b9e975af04b5ac4d9.html