MySQL数据库之主从同步

一、概述:

MYSQL主从同步架构是目前使用最多的数据库架构之一,主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave)。

二、拓扑图说明:

如上图所示,192.168.4.10(主机名为"10.mysql")作为MySQL主数据库,192.168.4.20(主机名为"20.mysql")作为MySQL从数据库,负责从主数据库同步数据。

三、主从同步配置说明:

1、Master配置

(1)数据库授权:

mysql> grant replication slave on *.* to [email protected]"192.168.4.12" identified by "123456";

(2)启用binlog日志:

[[email protected] ~]# vim /etc/my.conf
      [mysqld]
      server_id=10        #指定主MySQL数据库的ID
      log-bin=master10     #启用binglog日志,日志文件保存在MySQL的安装主目录(/var/lib/mysql)下,文件名的格式为"master22.000001"(每个文件最大容量500M,超过500M或者重启MySQL服务后自动生成下一个日志文件)

(3)查看master状态:

mysql>show master status;

+-----------------+----------+--------------+------------------+-------------------+
            | File            | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
            +-----------------+----------+--------------+------------------+-------------------+
            | master10.000001 |      154 |              |                  |                   |
            +-----------------+----------+--------------+------------------+-------------------+
            1 row in set (0.00 sec)
2、Slave配置:

(1)配置server_id:

[[email protected] ~]# vim /etc/my.conf
        [mysqld]
        server_id=20        #指定从MySQL数据库的ID

(2)配置主数据库信息(使用本机的root用户登陆)
       mysql>change master to master_host="192.168.4.10",             
             master_user="slaveuser",
             master_password="123456",
             matser_log_file="master10.000001",
             master_log_pos=154;
    (3)开启slave状态
             mysql> start slave;
     (4)检查slave状态
             mysql> show slave status\G;

命令执行结果中下面两项显示如下则说明主从同步配置正常
               Slave_IO_Running:Yes
               Slave_SQL_Running:Yes

3、验证:

在主数据库(192.168.4.10)上面进行数据添加删除等操作,在从数据库上面(192.168.4.20)及时就能看到。

三、原理说明:

(1)从数据库的IO线程读取主数据库的binlog日志,写入到从数据库的中继日志文件中,从数据库的SQL线程从本机的中继日志中读取SQL命令在本机执行,完成数据同步;
     (2)如果主从数据库配置前数据不一致,SQL线程就会报错;如果在主数据库创建授权用户出错,导致从数据库无法连接主数据库,IO线程就会报错;
     (3)当从数据库的SQL线程执行中继日志里面的SQL命令失败的时候,SQL线程会立即宕掉。

需要注意的是在配置MySQL主从数据库之前,需要先确保从数据库的数据不能多于主数据库的数据。

原文地址:http://blog.51cto.com/13401027/2058520

时间: 2024-10-15 02:58:08

MySQL数据库之主从同步的相关文章

配置mysql数据库的主从同步实验

mysql数据库的主从同步实验 一. 实验环境部署 主服务器(mysql  master) IP: 192.168.8.241  端口3306 从服务器(mysql  slave)  IP: 192.168.8.242  端口3306 虚拟机配置:内存2G,硬盘28G,2块网卡(1块网卡也可以),注意复制虚拟机 时候选择生成不同的MAC地址,虚拟机生成之后,网卡的的名称会变为eth2.eth3,修改/etc/udev/rules.d/70-persistent-net.rules文件,将无效的M

Zabbix 检测Mysql数据库的主从同步

Zabbix 检测Mysql数据库的主从同步 在高并发网站架构中,MySQL数据库主从同步是不可或缺的,不过经常会发生由于网络原因或者操作错误,MySQL主从经常会出现不同步的情况,那么如何监控MySQL主从同步,也变成检测网站正常运行的重要环节. MySQL同步功能由3个线程(master上1个,slave上2个)来实现,简单的说就是:master发送日志一个,slave接收日志一个,slave运行日志一个. Slave_io_Running:yes Slave_SQL_Running: ye

MySQL数据库实现主从同步数据

MySQL数据库实现主从同步数据 参考链接: http://www.cnblogs.com/wxf020412/archive/2007/09/25/905628.html http://369369.blog.51cto.com/319630/790921 1.说明 利用数据库本身的数据同步机制实现数据同步,还可以通过备份数据库目录实现,以及通过第三方同步工具实现. 2.准备好两台以上MySQL数据库 ①.最好版本一致 3.主数据库配置 ①. 打开mysql的配置文件(windows)my.i

mysql数据库的主从同步,实现读写分离 g

https://blog.csdn.net/qq_15092079/article/details/81672920 前言 1 分别在两台centos 7系统上安装mysql 5.7 2 master主服务器的配置 2.1 配置文件my.cnf的修改 2.2 创建从服务器的用户和权限 2.3 重启mysql服务 2.4 查看主服务器状态 3 slave从服务器的配置 3.1 配置文件my.cnf的修改 3.2 重启mysql服务 3.3 连接master主服务器 3.4 启动slave数据同步

Zabbix检测Mysql数据库的主从同步

在高并发网站架构中,MySQL数据库主从同步是不可或缺的,不过经常会发生由于网络原因或者操作错误,MySQL主从经常会出现不同步的情况,那么如何监控MySQL主从同步,也变成检测网站正常运行的重要环节. MySQL同步功能由3个线程(master上1个,slave上2个)来实现,简单的说就是:master发送日志一个,slave接收日志一个,slave运行日志一个. 首先,我们解释一下 show slave status  中重要的几个参数: Slave_IO_Running: I/O线程是否被

MYSQL 数据库的主从同步实验

最近在学Linux 的应用技术 今天在虚拟机上尝试了MYSQL 数据库主从同步的实验,虽然事先百度了,看了别人的教程,但是自己在做的过程中还是出现了几个问题,在此记录下来,给需要的朋友借鉴一下,以后自己忘记了也可以回头看看. 两个虚拟机分别是: Red Hat Enterprise Linux Server release 6.3 (Santiago) 192.168.1.251 Red Hat Enterprise Linux Server release 5.6 (Tikanga) 192.

MySQL数据库配置主从同步

1.环境说明:DB master: 172.16.1.55 DB slave: 172.16.1.56 2.Server-id 配置(/etc/my.cnf): 主库配置server-id要比从库的ID小. 主库ID设置:Server-id=55 从库ID设置:Server-id=56 3.日志格式设置(/etc/my.cnf): log-bin=mysql-bin (主库.从库都设置) 4.主库授权从库的权限设置: grant replication slave on *.* to 'slav

MySQL数据库配置主从服务器实现双机热备

转自:http://www.cnblogs.com/cchun/p/3712637.html 一.安装MySQL 说明:在两台MySQL服务器192.168.21.169和192.168.21.168上分别进行如下操作,安装MySQL 5.5.22  二.配置MySQL主服务器(192.168.21.169) mysql -uroot -p #进入MySQL控制台 create database osyunweidb; #建立数据库osyunweidb insert into mysql.use

Mysql 5.6主从同步

Mysql 5.6主从同步(和5.1是有不同的): 和5.1不同主要有两处(都在从部分): 1.指定master部分不能写到/etc/my.cnf里了,得在mysql命令里敲 2.启动/停止slave命令为:start/stop/reset slave  (5.1是slave在前) 主(和5.1一样): # mkdir /var/lib/mysql/logs # chown -R mysql:mysql /var/lib/mysql/logs # mysql -u root -p123456 >