背景: mysql 主库服务器server1(192.168.71.37) mysql 备库服务器server2(192.168.71.38) 主库,备库版本同为5.5.31.
第一步:创建复制账号
主库: GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO username@'192.168.71.38' INDENTIFIED BY 'password';
在主库和备库都创建该账号, 备库只需要修改对应的主库IP即可。
第二步:配置主库和备库
在主库的my.cnf 增加或修改如下内容:
log_bin = mysql-bin
server_id = 7137 (必须明确地指定一个唯一的服务器ID 此处去服务器Ip的最后两个段)
如果之前没有在mysql 的配置文件中指定log_bin 就需要重新启动Mysql。 为了确认二进制日志文件是否已经在主库上创建,使用:SHOW MASTER STATUS进行查看
备库上也需要做同样的配置,并重启数据库
log_bin = mysql-bin
server_id = 7138
relay_log = /var/lib/mysql/mysql-relay-bin (指定中继日志的位置和命名 )
log_slave_updates = 1 (允许备库将其重放的事件也记录到自身的二进制日志 )
read_only = 1
第三步:启动复制
在备库上执行以下命令
CHANGE MASTER TO MASTER_HOST='192.168.71.37 ',
MASTER_USER='username ',
MASTER_PASSWORD='password ',
MASTER_LOG_FILE = ' mysql-bin.000015 ',
MASTER_LOG_POS=0;
设置 MASTER_LOG_POS=0是要从日志的开头读取。
通过SHOW SLAVE STATUS;命令查看配置信息。
执行命令START SLAVE;开启复制。
通过SHOW SLAVE STATUS;再次查看
通过SHOW PROCESSLIST;可以看到一个I/O线程,和一个SQL线程
四:推荐的复制配置
在主库上二进制日志最重要的选项是: sync_binlog =1
如果开启该选项,mysql每次在提交事物请会将二进制日志同步到磁盘上,保证在服务器崩溃的时候不会丢失事件。
如果使用InnoDB 强烈推荐设置如下选项:
innodb_flush_logs_at_trx_commit
innodb_support_xa=1
innodb_safe_binlog
如果正在使用mysql 5.5 ,最好设置以下选项:
sync_master_info = 1
sync_replay_log = 1
sync_relay_long_info =1
第一步:创建复制账号
主库: GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO username@'192.168.71.38' INDENTIFIED BY 'password';
在主库和备库都创建该账号, 备库只需要修改对应的主库IP即可。
第二步:配置主库和备库
在主库的my.cnf 增加或修改如下内容:
log_bin = mysql-bin
server_id = 7137 (必须明确地指定一个唯一的服务器ID 此处去服务器Ip的最后两个段)
如果之前没有在mysql 的配置文件中指定log_bin 就需要重新启动Mysql。 为了确认二进制日志文件是否已经在主库上创建,使用:SHOW MASTER STATUS进行查看

备库上也需要做同样的配置,并重启数据库
log_bin = mysql-bin
server_id = 7138
relay_log = /var/lib/mysql/mysql-relay-bin (指定中继日志的位置和命名 )
log_slave_updates = 1 (允许备库将其重放的事件也记录到自身的二进制日志 )
read_only = 1
第三步:启动复制
在备库上执行以下命令
CHANGE MASTER TO MASTER_HOST='192.168.71.37 ',
MASTER_USER='username ',
MASTER_PASSWORD='password ',
MASTER_LOG_FILE = ' mysql-bin.000015 ',
MASTER_LOG_POS=0;
设置 MASTER_LOG_POS=0是要从日志的开头读取。
通过SHOW SLAVE STATUS;命令查看配置信息。
执行命令START SLAVE;开启复制。
通过SHOW SLAVE STATUS;再次查看

通过SHOW PROCESSLIST;可以看到一个I/O线程,和一个SQL线程

四:推荐的复制配置
在主库上二进制日志最重要的选项是: sync_binlog =1
如果开启该选项,mysql每次在提交事物请会将二进制日志同步到磁盘上,保证在服务器崩溃的时候不会丢失事件。
如果使用InnoDB 强烈推荐设置如下选项:
innodb_flush_logs_at_trx_commit
innodb_support_xa=1
innodb_safe_binlog
如果正在使用mysql 5.5 ,最好设置以下选项:
sync_master_info = 1
sync_replay_log = 1
sync_relay_long_info =1
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28624388/viewspace-1063901/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28624388/viewspace-1063901/