要使用基于二进制日志的MySQL复制机制,您需要做以下几个步骤:
-- 在主数据库上启用二进制日志 mysql>SET GLOBAL binlog_format = 'ROW'; mysql>FLUSH LOGS; mysql>FLUSH TABLES WITH READ LOCK; mysql>SHOW MASTER STATUS; -- 记下File和Position的值并释放表锁 -- 在备份数据库上使用主数据库的File和Position号进行复制 mysql>CHANGE MASTER TO ->MASTER_HOST='master_host_name', ->MASTER_USER='replication_user_name', ->MASTER_PASSWORD='replication_password', ->MASTER_LOG_FILE='recorded_log_file_name', ->MASTER_LOG_POS=recorded_log_position; mysql>START SLAVE; mysql>SHOW SLAVE STATUS; -- 检查输出结果是否显示“Slave_IO_Running”和“Slave_SQL_Running”均为"YES"
以上代码中,第一组命令用于在主数据库上启用二进制日志,并在执行期间创建一个写锁定以防止其他会话对数据库进行更改。SHOW MASTER STATUS命令返回了当前活动日志文件的名称和文件指针位置,这些值将用于在备份数据库上启动复制。
在备份数据库服务器上,您需要配置要使用的主数据库,并使用CHANGE MASTER TO语句指定主数据库的连接信息。运行START SLAVE命令以开始从主数据库复制数据。SHOW SLAVE STATUS命令可用于监视复制进程,并可用于检查“Slave_IO_Running”和“Slave_SQL_Running”位是否标记为“YES”。
通过这种方式,您将获得一个完整的数据库备份副本,该副本可以在备份服务器上进行测试、恢复,或者将其用于作为主服务器的读取副本。