? 6.8 同步启动选项 ? 不管是master还是slave,都要设定 server-id 选项来确定使它们都有各自唯一的同步ID。必须选择 1 到 2^32-1 之间的正整数。例如: server-id=3。 ? 关于master服务器上可用于控制二进制日志记录的选项详细描述请看"5.9.4 The Binary Log"。 ? 下表描述了slave同步可用的选项,可以在命令行或者配置文件中设定它们。 ? 一些slave同步选项以特定的方式来处理,在slave启动时,如果存在 `master.info` 文件并且包含这些选项,那么slave将略过它们。这些选项如下: ? --master-host ? --master-user ? --master-password ? --master-port ? --master-connect-retry ? 从MySQL 4.1.1开始,一下选项也按照上述方式特殊处理: ? --master-ssl ? --master-ssl-ca ? --master-ssl-capath ? --master-ssl-cert ? --master-ssl-cipher ? --master-ssl-key ? 在MySQL 4.1.1中, `master.info` 文件的格式改变了以包含相应的SSL选项。另外,MySQL 4.1.1文件格式还包括了在第一行中的文件总行数。如果从旧版本升级到4.1.1,那么服务器启动时会自动升级 `master.info` 为新的格式。不过,如果是从4.1.1降级到旧版本,就需要在系统第一次启动时手工删除文件的第一行。注意,这种情况下,被降级的服务器就不能再使用SSL选项连接到master了。 ? ? ? slave启动时如果不存在 `master.info` 文件,它就使用在命令行或者配置文件中指定的参数值来启动。这在每次第一次启动slave服务器时都是这样,或者执行 RESET SLAVE 语句关闭且重启slave之后。 ? slave启动时如果存在 `master.info` 文件,那么它就略过这些选项,而是直接读取 `master.info` 文件中的值。 ? 如果重启salve时使用的选项值和 `master.info` 中的不一样,那么这个新的值不会生效,因为slave服务器还是照样只读取 `master.info` 文件。想要使用不同的选项值,可以在删除 `master.info` 后重启slave或者使用 CHANGE MASTER TO 语句(推荐)重置选项值。 ? 假定在 `my.cnf` 设定了以下选项值: ? [mysqld] master-host=some_host ? 第一次启动slave的时候,它从 `my.cnf` 中读取选项值,然后再把它们保存在 `master.info` 中。下次重启slave时,它就只读取 `master.info` 的内容而略过 `my.cnf` 中的选项值了。企图修改 `my.cnf` 来改变同步选项是不可行的,不过可以通过执行 CHANGE MASTER TO 语句来实现: ? 由于服务器认为 `master.info` 的优先级比配置文件高,因此建议根本不要在启动时附加同步选项,而只用 CHANGE MASTER TO 语句。详情请看"14.6.2.1 CHANGE MASTER TO Syntax"。 ? 下例显示了一些配置slave的扩展选项: ? [mysqld] server-id=2 master-host=db-master.mycompany.com master-port=3306 master-user=pertinax master-password=freitag master-connect-retry=60 report-host=db-slave.mycompany.com [责任编辑:admin] |