mysql>SHOW MASTER STATUS\G *************************** 1. row *************************** File: mysql-bin.000014 Position: 15659497 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)
MySQL repl是建立在二进制日志(binlog)的基础上的。通过启用二进制日志功能,MySQL数据库会将所有的操作记录下来,并存储在一个二进制日志文件中。复制过程中,slave数据库可以从master数据库中读取二进制日志,并解析其中的操作内容,然后在自己的数据库中执行这些操作,从而达到复制的目的。
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 repl的时候,需要在slave数据库中执行”CHANGE MASTER TO”命令来配置连接master数据库的相关信息,例如连接的主机地址、用户名、密码、复制的起始位置等等。
mysql>START SLAVE;
执行完”CHANGE MASTER TO”命令后,可以通过”START SLAVE”启动复制过程,在slave数据库中执行的所有操作都会被发送给master数据库,并在master数据库中记录到二进制日志文件中。由于MySQL repl支持多个slave数据库连接到一个master数据库,所以可以通过MySQL repl轻松地实现读写分离的功能,从而提高系统的性能和可用性。