广告
返回顶部
首页 > 资讯 > 数据库 >mysql replication
  • 795
分享到

mysql replication

2024-04-02 19:04:59 795人浏览 八月长安
摘要

Mysql replicaton环境:主:192.168.48.150           从:192.168.48.152简单的说,就

Mysql replicaton

环境:主:192.168.48.150

           从:192.168.48.152

简单的说,就是master把数据库的改变写入二进制日志,slave同步这些二进制日志,并根据这些二进制进行数据操作。

mysql Replicaton的用途

1.fail over

2.backup server

3.high perfORMance

master和slave上的数据是一样的,如果我们从master上进行写操作,slave上进行读操作,这就叫读写分离。

配置Replication

step1:

Slave是通过MYsql连接登陆到Master上来读取二进制日志的。因此需要在Master上给Slave配置权限。

mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'slaveip' IDENTIFIED BY 'replPass';

mysql>FLUSH PRIVILEGES;

eg:在Master上受权:

mysql> grant replication slave on *.* to repl@192.168.48.152 identified by 'repl';

mysql> flush privileges;

在slave上测试连接:

#mysql -h292.168.48.150 -urepl -prepl

可以连上表示没有问题。

step2:

在Master上要打开二进制日志,并标识server-id。

server-id用于唯一标识主机,数字取值范围1-2**32-1.

#vi /etc/my.cnf

[mysqld]

log-bin

binlog-format=row

sync-binlog=1

server-id=1

#service mysqld restart

step3:

制作一个Master的完整备份,并且执行prepare。

#这里的原理是,将主要原有的数据备份打包到从上,从服务器直接还原,在这个基础之上再进行二进制传输同步,这样会节省资源。

我们使用innobackupex这个工具,这个工具可以记录备份数据的二进制编号,这样从服务器就会从备份的基础上再进行同步,也就是增量备份。

#innobackupex --user=dba --passWord=xxx/var/lib/backup/

#innobackupex --use-memory=500m --apply-log /var/lib/backup/2014-03_16-40-05/

eg: 在master上的配置

#innobackupex安装:Http://my.oschina.net/sansom/blog/160434

# mkdir /var/lib/backup/

# cd /var/lib/backup/

#innobackupex --user=root --password=123456 /var/lib/backup/

#这样目录里会生成原始文件

#还要执行一步操作,就是生成innodb日志文件

#innobackupex --use-memory=500m --apply-log /var/lib/backup/原始文件名/

step4:

将备份拷贝至slave,并放入数据文件目录。

in master:

#yum install openssh-clients -y (master and slave both need to install)

#scp -r /var/lib/backup/2016-03-11_10-26-10/ 192.168.48.152:/var/lib/backup/

in slave:

#service mysqld stop

#mv /var/lib/backup/2016-03-11_07-40-35/* /var/lib/mysql/(生产环境中不要直接覆盖)

#ls(查看是否所有文件都被mv过去,如果没有,就再次复制过去)

#cd /var/lib/mysql/

#chown -R mysql. * #拷贝过来的文件要改权限

#service mysqld start(这一步我的mysql启不来了,原因是没有关闭selinux

#查看数据是否同步正确

step5:

在slave上配置server-id,标识服务器。

# vi /etc/my.cnf

[mysqld]

server-id=2

#service mysqld restart

step6:

查看并记录二进制日志中的position ID.(这个是innobackupex工具为我们生成的)

in slave:

#cd /var/lib/mysql

cat xtrabackup_binlog_info

显示:mysqld-bin.000001       341

position id 为341

step7:

配置slave replication.

in slave:

mysql>change master to master_host='192.168.48.150',

-->master_user='repl',

-->master_password='repl',

-->master_log_file='mysqld-bin.000001',

-->master_log_pos=341;

step8:

启动replication,并检查结果。

in slave:

mysql>start slave;

mysql>show slave status\G;

结果如下:

*************************** 1. row ***************************

               Slave_IO_State: Waiting for master to send event(当前无同步事件)

                  Master_Host: 192.168.48.150(主 ip)

                  Master_User: repl(主用户)

                  Master_Port: 3306(端口)

                Connect_Retry: 60(重试时间/s)

              Master_Log_File: mysqld-bin.000001(主同步二进制文件)

          Read_Master_Log_Pos: 341(主位置号)

               Relay_Log_File: mysqld-relay-bin.000002(从二进制文件)

                Relay_Log_Pos: 252(从位置号)#主从的号虽然不一样,但是是有对应关系的,逻辑上是一样的。

        Relay_Master_Log_File: mysqld-bin.000001

             Slave_IO_Running: Yes(必须为yes时才正常)

            Slave_SQL_Running: Yes(必须为yes时才正常)

            #主会启运一个进程,从会启运两个进程,我们可以执行如下语句查看:

            master_mysql>show processlist\G;

*************************** 1. row ***************************

     Id: 11

   User: repl

   Host: 192.168.48.152:54413

     db: NULL

Command: Binlog Dump

   Time: 707

  State: Has sent all binlog to slave; waiting for binlog to be updated

   Info: NULL

*************************** 2. row ***************************

            slave_mysql>show processlist\G;

            *************************** 2. row ***************************

     Id: 3

   User: system user

   Host: 

     db: NULL

Command: Connect

   Time: 680

  State: Waiting for master to send event

   Info: NULL

*************************** 3. row ***************************

     Id: 4

   User: system user

   Host: 

     db: NULL

Command: Connect

   Time: 680

  State: Has read all relay log; waiting for the slave I/O thread to update it

   Info: NULL

3 rows in set (0.00 sec)

#从的两个进程,一个用于接收二进制,另一个用于解析二进制,执行语句。

              Replicate_Do_DB: 

          Replicate_Ignore_DB: 

           Replicate_Do_Table: 

       Replicate_Ignore_Table: 

      Replicate_Wild_Do_Table: 

  Replicate_Wild_Ignore_Table: 

                   Last_Errno: 0

                   Last_Error: 

                 Skip_Counter: 0

          Exec_Master_Log_Pos: 341

              Relay_Log_Space: 408

              Until_Condition: None

               Until_Log_File: 

                Until_Log_Pos: 0

           Master_SSL_Allowed: No

           Master_SSL_CA_File: 

           Master_SSL_CA_Path: 

              Master_SSL_Cert: 

            Master_SSL_Cipher: 

               Master_SSL_Key: 

        Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

                Last_IO_Errno: 0

                Last_IO_Error: 

               Last_SQL_Errno: 0

               Last_SQL_Error: 

1 row in set (0.00 sec)

这样就同步了,在主上操作的,从都会同步喽。


您可能感兴趣的文档:

--结束END--

本文标题: mysql replication

本文链接: https://www.lsjlt.com/news/41050.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql replication
    mysql replicaton环境:主:192.168.48.150           从:192.168.48.152简单的说,就...
    99+
    2022-10-18
  • 3.MySQL Replication(
    3.1 MySQL Replication 概述MySQL Replication俗称MySQL AB复制,主要是通过把主服务器上的二进制日志通过网络传到从服务器上,MYSQL会自己把二进制日志转换成相关的DDL,DML,DCL等语句!但这...
    99+
    2023-01-31
    MySQL Replication
  • MySQL 5.7.17 Group Replication
    基于组复制的强大功能在MySQL 5.7.17之后以插件的形式实现,本文讲述在单机多实例基础上搭建组复制测试环境环境说明:操作系统:    CentOS Linux ...
    99+
    2022-10-18
  • 如何理解Mysql Replication
    如何理解Mysql Replication,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Mysql Replication类似...
    99+
    2022-10-19
  • 如何分析MySQL Group Replication
    如何分析MySQL Group Replication,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。最近看了下MySQL Gr...
    99+
    2022-10-19
  • 怎么部署MySQL Group Replication
    这篇文章主要介绍“怎么部署MySQL Group Replication”,在日常操作中,相信很多人在怎么部署MySQL Group Replication问题上存在疑惑,小编查阅了各式资料,整理出简单好用...
    99+
    2022-10-19
  • 配置mysql replication出错记录
    以下内容应用于[mysqld]段内server-id= 1  此行必须,1可以为其他数字,一般推荐的是IP最后段位。log-bin=mysql-bin 必须有此,开启binlog二进制所需。bin...
    99+
    2022-10-18
  • 如何理解MySQL Replication线程
    这篇文章将为大家详细讲解有关如何理解MySQL Replication线程,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Replication 线程Mysq...
    99+
    2022-10-18
  • 【MySQL】5.7版本 Semisync Replication 增强
    一 前言 ...
    99+
    2022-10-18
  • MYSQL Group Replication的搭建过程
    这篇文章主要介绍“MYSQL Group Replication的搭建过程”,在日常操作中,相信很多人在MYSQL Group Replication的搭建过程问题上存在疑惑,小编查阅了各式资料,整理出简单...
    99+
    2022-10-18
  • MySQL Group Replication的安装部署
    这次给大家介绍下MySQL官方最新版本5.7.17中GA的新功能 Group Replication 。 Group Replication是一种可用于实现容错系统的技术。复制组是一组通过消息传递相互交互的服务...
    99+
    2023-01-31
    MySQL Group Replication
  • Replication
    Replication On this page Redundancy and Data A...
    99+
    2018-01-15
    Replication
  • REPLICATION SLAVE 与 REPLICATION CLIENT 权限
    测试的版本为5.6.30 REPLICATION SLAVE 常用于建立复制时所需要用到的用户权限,也就是slave server必须被master server授权具有该权限的用户,才能通过该用户复制...
    99+
    2022-10-18
  • Mysql复制Replication的实现方法
    本篇内容主要讲解“Mysql复制Replication的实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mysql复制Replication的实现方法”吧...
    99+
    2022-10-18
  • mysql 中replication的作用是什么
    今天就跟大家聊聊有关mysql 中replication的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. master mysql 中...
    99+
    2022-10-18
  • Mysql如何实现replication check脚本
    这篇文章主要介绍了Mysql如何实现replication check脚本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。#!/usr/bin...
    99+
    2022-10-18
  • 配置MySQL Replication的详细步骤
    不知道大家之前对类似配置MySQL Replication的详细步骤的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完配置MySQL Replication的详细步骤...
    99+
    2022-10-18
  • MySQL Group Replication mgr 安装关键过程
    1、初始化和启动 mysql/bin/mysqld --initialize-insecure --basedir=/mgr/mysql --datadir=/mgr/data/s1 mysql/bin/m...
    99+
    2022-10-18
  • mysql中replication复制的示例分析
    这篇文章主要介绍了mysql中replication复制的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 1首先主服务器把数据更改...
    99+
    2022-10-19
  • MySQL同步数据Replication如何实现
    今天小编给大家分享一下MySQL同步数据Replication如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。MySQ...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作