一、复制的基本原理
slave会从master读取binlog进行数据同步。
1、master将改变记录到二进制日志(binlog),这些记录过程叫做二进制日志事件(binary log events)
2、slave将master的binary log events)拷贝到它的中继日志。
3、slave重做中继日志中的事件,将改变应用到自己的数据库中,MySQL复制是异步且串行化。
二、复制的基本原则:
每个slave只有一个master
每个slave只能有一个唯一的服务器ID
每个master可以有多个slave
三、复制的最大问题:延时
四、一主一从常见配置
要求:主机、从机在同一网段,且数据库版本相同
1、主机配置:
[mysqld] server-id = 1 log-bin= mysql-bin
建立账户并授权slave:
CREATE USER 'replication'@'192.168.1.103' IDENTIFIED BY '123456'; GRANT REPLICATION SLAVE ON *.* TO 'replication'@'192.168.1.103';
2、从机配置:
[mysqld] server-id = 2
3、重启数据库,主从机关闭防火墙。
4、主从机通信配置
- 查看master的状态,并记录下file和position的值

- 从机配置如下信息:
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;
- 启动从机复制功能
start slave
5、查看复制状态
show slave status
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
说明主从复制配置成功。