MYSQL的主从复制

。_饼干妹妹 提交于 2019-11-28 01:33:30

一、复制的基本原理

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  

说明主从复制配置成功。

  

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!