返回顶部
首页 > 资讯 > 数据库 >如何理解Mysql Replication
  • 179
分享到

如何理解Mysql Replication

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

如何理解Mysql Replication,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。mysql Replication类似

如何理解Mysql Replication,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

mysql Replication

类似于从一台服务器拷贝数据库到另一台服务器上,但它是通过定义Master 和Slave的关系去实时地保证两个数据库的完全同步,这个功能在Mysql的3.23版中开始出现。

Master/Slave模式备份

TestEnv:

Master:Mysql-4.1.12 on Redhat9.0 IP:192.168. 0.217

Slave: Mysql-4.1.12 on Redhat9.0 IP:192.168.10.244

1、编译,安装

1. #tar –zxvf Mysql-4.1.12.tar.gz

2. #cd Mysql-4.1.12

3. .#/configure –prefix=/var/eyou/mysql

4. #make

5. #make install

6. #chown –R root /var/eyou/mysql

7. # chown –R mysql /var/eyou/mysql/var

8. #chgrp –R mysql /var/eyou/mysql

9. #scripts/mysql_install_db

10. #cp support-files/my-medium.cnf /etc/my.cnf

2、Master 机器设置权限,赋予Slave机器FILE及Replication Slave权利,并打包要同步的数据库结构。

Master# pwd

/var/eyou/mysql/bin

Master#./mysql –u root –p

Enter passWord:

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 2 to server version: 4.1.12

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> GRANT FILE ON *.* TO rep@192.168.0.244 IDENTIFIED BY ‘eyou’;

mysql> GRANT REPLICATION SLAVE ON *.* TO rep@192.168.0.244 IDENTIFIED BY ‘eyou’;

赋予192.168.10.244也就是Slave 机器有File权限, 这个4.1.12版对replication的权限好像做了调整,只赋予Slave机器有File权限还不行,还要给它REPLICATION SLAVE的权限才可以。

然后打包要复制的数据库

Master# cd var

Master# tar czvf reptest.tar.gz reptest

这样,我们得到一个reptest数据库的打包文件reptest.tar.gz

2设置主服务器Master的my.cnf,启动Mysql服务

Master# vi /etc/my.cnf

在[mysqld]添加或修改以下的

[mysqld]

log-bin #打开logbin选项以能写到slave的 I/O线程;

server-id=1 #表示是本机的序号为1,一般来讲就是master的意思.

sql-bin-update-same

binlog-do-db= reptest #表示同步reptest数据库;

然后把Master主服务器的Mysql重启。

Master# /var/eyou/mysql/bin/mysqladmin –u root –p shutdown

Master# /var/eyou/mysql/bin/safe_mysqld --user=mysql &

3、建立Slave数据库

刚才在Master中打包了reptest.tar.gz,它的作用就是要在Slave恢复成一样的数据库。先把Master 的reptest.tar.gz文件传到Slave机器中去。然后

Slave# tar zxvf reptest.tar.gz -C /var/eyou/mysql/var/

4、修改Slave服务器的my.cnf

Slave# vi /etc/my.cnf

在[mysqld]添加或修改以下的

master-host=192.168.10.217

master-user=rep

master-password=eyou

master-port=3306

server-id=2

master-connect-retry=60

replicate-do-db=reptest    [要更新的数据库]

log-slave-updates

5、删除Slave端数据库目录中的master.info

Slave# rm /var/eyou/mysql/var/master.info

6、重启动Slave的slave start。

Slave# /var/eyou/mysql/bin/mysqladmin –u root –p shutdown

Slave# /var/eyou/mysql/bin/safe_mysqld --user=mysql &

7、测试

先检测两个Mysql数据库中的reptest是否正常。

正常情况应该是Master和Slave 中的Mysql 都有相同的reptest 数据库,并且里面的数据都一样。

然后测试replication 功能是否起用。

在Master中的reptest数据库添加一笔数据:

Master# /var/eyou/mysql/bin/mysql –u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 12 to server version: 4.1.12

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> use reptest;

Database changed

mysql> INSERT INTO rep_table VALUES ('test1', '4321', 'T',24);

Query OK, 1 row affected (0.00 sec)

mysql>

然后查看Slave机器的reptest数据库:

Slave#/var/eyou/mysql/bin/mysql –u root –p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 12 to server version: 4.1.12

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> use reptest;

Database changed

mysql>select * from reptable;;

+------+------+------+------+

| id | name | sex | age |

+------+------+------+------+

| test1| 4321 | T | 24 |

+------+------+------+------+

1 row in set (0.00 sec)

PS :

1,Slave机器的权限问题,不但要给slave机器File权限,还要给它REPLICATION SLAVE的权限。

2.在修改完Slave机器/etc/my.cnf之后,slave机器的mysql服务启动之前,记得要删除掉master.info

3,在show master status 或着show slave status 不正常时,看看.err是怎样说的。

4,Slave上Mysql的Replication工作有两个线程, I/O thread和SQL thread 。I/O 的作用是从master 3306端口上把它的binlog取过来(master在被修改了任何内容之后,就会把修改了什么写到自己的binlog等待slave更新),然后写到本地的relay-log,而SQL thread则是去读本地的relay-log,再把它转换成本Mysql所能理解的语句,于是同步就这样一步一步的完成.决定I/O thread的是/var/lib/mysql/master.info,而决定SQL thread的是/var/lib/mysql/relay-log.info.

双向复制模式

1:

Slave 机器设置权限,赋予Master机器FILE及Replication Slave权利.

Master#./var/eyou/mysql –u root –p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 2 to server version: 4.1.12

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> GRANT FILE ON *.* TO rep@192.168.0.217 IDENTIFIED BY ‘eyou’;

mysql> GRANT REPLICATION SLAVE ON *.* TO rep@192.168.0.217 IDENTIFIED BY ‘eyou’;

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网数据库频道,感谢您对编程网的支持。

您可能感兴趣的文档:

--结束END--

本文标题: 如何理解Mysql Replication

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

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

猜你喜欢
  • 如何理解Mysql Replication
    如何理解Mysql Replication,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Mysql Replication类似...
    99+
    2024-04-02
  • 如何理解MySQL Replication线程
    这篇文章将为大家详细讲解有关如何理解MySQL Replication线程,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Replication 线程Mysq...
    99+
    2024-04-02
  • 如何分析MySQL Group Replication
    如何分析MySQL Group Replication,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。最近看了下MySQL Gr...
    99+
    2024-04-02
  • 怎么理解MySQL Replication的复制线程
    这期内容当中小编将会给大家带来有关怎么理解MySQL Replication的复制线程,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 MyS...
    99+
    2024-04-02
  • Mysql如何实现replication check脚本
    这篇文章主要介绍了Mysql如何实现replication check脚本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。#!/usr/bin...
    99+
    2024-04-02
  • MySQL同步数据Replication如何实现
    今天小编给大家分享一下MySQL同步数据Replication如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。MySQ...
    99+
    2023-07-05
  • 如何搭建MySQL Group Replication测试环境
    这篇文章给大家分享的是有关如何搭建MySQL Group Replication测试环境的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。    最近看了下My...
    99+
    2024-04-02
  • 如何动态创建MySQL Group Replication的节点
    这篇文章主要为大家展示了“如何动态创建MySQL Group Replication的节点”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何动态创建MySQL ...
    99+
    2024-04-02
  • MySQL中如何实现半同步semi-sync replication
    这篇文章主要介绍MySQL中如何实现半同步semi-sync replication,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、半同步简介MASTER节点在执行完客户端提交的事务后不是立刻返回结果给客...
    99+
    2023-06-29
  • 如何进行VMware vSphere Replication日志排错解析
    如何进行VMware vSphere Replication日志排错解析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。如果你用来保护数据的工具出现问题,你就需要...
    99+
    2023-06-17
  • MySQL Replication中的并行复制示例详解
    目录传统单线程复制说明总结mysql5.6基于库级别的并行复制MySQL5.7基于组提交的并行复制组提交说明MySQL8.0基于writeset的并行复制关键参数查看参数配置项说明引用资料:传统单线程复制说明 众所周知,...
    99+
    2022-07-01
    MySQL Replication并行复制 MySQL 并行复制
  • 如何理解MySQL锁
    这篇文章主要介绍“如何理解MySQL锁”,在日常操作中,相信很多人在如何理解MySQL锁问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解MySQL锁”的疑惑有所帮助!接...
    99+
    2024-04-02
  • 如何理解MYSQL GroupCommit
    今天就跟大家聊聊有关如何理解MYSQL  GroupCommit,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。组提交(group commit)是MYSQL处理日志的一种优...
    99+
    2023-06-06
  • 如何理解Mysql index extensions
    这篇文章给大家介绍如何理解Mysql index extensions,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 1、什么是index extensions 前者的key...
    99+
    2024-04-02
  • 如何理解MySQL索引原理
    本篇内容主要讲解“如何理解MySQL索引原理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解MySQL索引原理”吧!案例背景假设面试官问你:在电商平台的订...
    99+
    2024-04-02
  • 如何搭建和测试MySQL高可用框架Group Replication(组复制)
    下面讲讲关于如何搭建和测试MySQL高可用框架Group Replication(组复制),文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完如何搭建和测试MySQL高可用框架Gro...
    99+
    2024-04-02
  • 如何理解MySQL的Buffer Pool
    本篇内容介绍了“如何理解MySQL的Buffer Pool”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前...
    99+
    2024-04-02
  • 如何理解Mysql debug模式
    如何理解Mysql debug模式,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 以debug模式编译 -D...
    99+
    2024-04-02
  • 如何理解MySQL索引cardinalit
    本篇内容主要讲解“如何理解MySQL索引cardinalit”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解MySQL索引cardinalit”吧!查看一...
    99+
    2024-04-02
  • 如何理解MYSQL 解锁与锁表
    如何理解MYSQL 解锁与锁表,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 解锁第一种show processl...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作