MySql主从复制

好好学习,天天向上!

 主从复制就是对主数据库进行增删改查的时候,同时要对从数据数据库进行一个同样的操作,以确保和主数据库的数据保持一致,即主从复制。

1.前期准备:

.首先我们需要准备两个mysql数据库,版本最好一致,这里我们使用Mysql5.6进行演示,主从信息如下 
主数据库 Linux(Centos7.3) 
从数据库 Linux(Centos7.3)

从数据库的复制原理:其实主从复制的本质思想就是,从数据库通过监听主数据库的一个二进制文件,当主数据库进行数据变化时,会将变化记录在这个二进制文件中,此时从数据库因为对此文件进行了监听,所以进行了同样的同步操作。

这里我们可以来了解一下这个二进制日志到底是什么东西?

(官方解释)MySQL的二进制日志(binary log)是一个二进制文件,主要用于记录修改数据或有可能引起数据变更的MySQL语句。二进制日志(binary log)中记录了对MySQL数据库执行更改的所有操作,并且记录了语句发生时间、执行时长、操作数据等其它额外信息,但是它不记录SELECT、SHOW等那些不修改数据的SQL语句。二进制日志(binary log)主要用于数据库恢复和主从复制,以及审计(audit)操作。

其实就是记录对主库的表操作

 2.配置:

主服务器:

 

  1. 开启二进制日志
  2. 配置唯一的server-id
  3. 获得master二进制日志文件名及位置
从服务器:
  1. 配置唯一的server-id
  2. 读取master二进制日志
  3. 启用slave服务

在linux中安装mysql 进入mysql中找到my.cnf配置文件,进入添加在mysqld中添加log-bin=mysql-bin(开启二进制日志),server-id=1(设置server-id),如下图所示

MySql主从复制_第1张图片 

然后重启[root@VM_0_2_redhat ~]# service mysqld restart 

连接mysql   

[root@VM_0_2_redhat ~]# mysql -u root -p 密码

输入mysql命令进行master状态查看(如下所示)

mysql> SHOW MASTER STATUS;

找到二进制文件名(mysql-bin.000001)和位置(347653 )

从数据库的配置:

  同样的找到my.cnf配置文件配置server-Id然后保存重启服务 ,连接mysql,

输入mysql命令进行主数据库绑定(如下图所示),MASTER_LOG_FILE为你的二进制文件名(可能不一样),MASTER_LOG_POS为你的位置(可能不一样)

mysql> CHANGE MASTER TO
MASTER_HOST='182.92.172.80',
MASTER_USER='root',
MASTER_PASSWORD='你的密码',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=347653 ;

启动slave同步进程

mysql> start slave;

查看状态(如下图所示,当Slave_IO_Running和Slave_SQL_Running都为YES的时候就表示主从同步设置成功了。)

mysql> show slave status\G

当然我们也可以通过stop slave命令来关闭slave同步或者更换master。 
最后我们在主数据库中创建一个数据库,你会发现当你在master中创建表或者是在表中插入数据时,我们的slave都会跟着同步进行这些操作,此时你的主从复制就算是大功告成了。
 

 

 

你可能感兴趣的:(Mysql,mysql主从复制)