background image

实际值由你决定。
必须明确指定一个唯一的服务器

ID。通常的做法是使用服务器 IP 地址的末 8 位。重启

MySQL 服务。

可以使用

SHOW MASTER STATUS 命令检查输出是否如下:

 文件名和后面的数字可能有所不同。positon 是当前日志文件的位置。
 
备库:

my.cnf 中增加类似的配置,并重启服务:

log-bin=mysql-bin
server_id=2
relay_log=/var/lib/mysql/mysql-relay-bin
log_slave_update=1
read_only=1
从技术上来说,有些选项并不总是必要的。但推荐这样配置。
read_only 可以阻止没有特权的线程修改数据。
 
其他推荐配置:
主库:
sync_binlog=1  #证服务器崩溃时不会丢失事件。
innodb_flush_log_at_trx_commit=1  #保证每个 commit 都及时写入日志
innodb_support_xa=1  #MySQL5.0 及以后版本的配置,支持跨存储引擎及二进制日志事

log_bin="/var/lib/mysql/mysql-bin"  #明确指定日志文件位置,对多台服务器的管理有帮

 
备库:
relay_log="path/to/logs/relay-bin"   #指定明确日志位置,可以避免多版本 MySQL 复制

bug

skip_slave_start  #避免崩溃后自动启动日志,给修复赢取时间
如果使用

MySQL5.5 并且不介意额外的 fsync()的性能开销,最好设置一下选项:

sync_master_info=1
sync_relay_log=1
sync_relay_log_info=1
 
3、启动复制
告诉 备库连接到主库,这一步不要通过修改

my.cnf 来配置,而是使用 CHANGE 

MASTER TO 语句。