搜尋
首頁資料庫mysql教程教你如何在阿里雲與騰訊雲輕鬆搭建傳統主從複製環境教程

MySQL主從複製環境可以說是一切高可用的基礎。它的原理也比較簡單,下面我們先來了解下主從複製的原理:

教你如何在阿里雲與騰訊雲輕鬆搭建傳統主從複製環境教程
#雖然圖上一共有7步,可以簡化一下幫助記憶和理解:

  1. Master上進行改、寫入操作;

  2. MySQL把修改資料寫進binlog;

  3. ##Slave發起IO thread,把master上新的binlog拉取到本地中繼日誌中;

  4. #重播中繼日誌,讓在master上面的修改、新增操作在Slave本機上重新運行一遍;

  5. Slave按照正常的操作也會把操作寫進本地的binlog。

硬體環境

本人有阿里雲、騰訊雲各一台屌絲機,因此用來試驗,為保護隱私,把ip已經替換了,但不影響操作。

主機ip#主從阿里雲192.168.1.1003306MySQL5.7.14Master

騰訊雲端

192.168.1.200

3306

MySQL5.7.18

Slave

Master上設定

開啟binlog設定server-id

在/etc/my.cnf中的mysqld選項下編輯,然後重啟

[mysqld]
log-bin=mysql-bin
server-id=1003306
/etc/init.d/mysql restart
建立複製專用帳號

mysql> CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slave;
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.200';

匯出資料同步到騰訊雲上面

使用mysqldump匯出所有資料庫數據,另外備份檔案會記錄目前的binlog檔和position。

#防止DDL、写操作
mysql>FLUSH TABLES WITH READ LOCK;
shell>mysqldump -uroot -p --single-transaction --master-data=2 -A>back.sql
也透過以下方式可以查看:

root@localhost [mysql]>show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000045 |      939 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
解鎖表

mysql> UNLOCK TABLES;

遠端傳檔過去

如果資料檔案偏大或資料多,可以使用percona的xtrabackup進行備份壓縮,再傳過去。

rsync back.sql root@192.168.1.200:/root
Slave操作開啟binlog設定server-id#在/etc/my.cnf中的mysqld選項下編輯
[mysqld]
log-bin=mysql-bin
server-id=2003306
#重啟MySQL服務導入資料

shell>mysqldump -uroot -p --databases t1 <back.sql><em>指向Master</em><em>這裡的</em>MASTER_LOG_FILE<em>和</em>MASTER_LOG_POS<em>是剛才</em>show master status的值,當然也可以使用<h3 id="more">more</h3>來查看應該指定的位置。 <p></p>
<pre class="brush:php;toolbar:false">CHANGE MASTER TO MASTER_HOST='192.168.1.200',MASTER_PORT=3306,MASTER_USER='repl',MASTER_PASSWORD='slave',MASTER_LOG_FILE='mysql-bin.000045',MASTER_LOG_POS=939;
這裡的

MASTER_LOG_FILE

MASTER_LOG_POS

是剛才###show master status###的值,當然也可以使用###more###查看應該指定的位置。 ###
shell>more back.sql
-- MySQL dump 10.13  Distrib 5.7.14, for linux-glibc2.5 (x86_64)
--
-- Host: localhost    Database: 
-- ------------------------------------------------------
-- Server version   5.7.14-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Position to start replication or point-in-time recovery from
--

CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000045', MASTER_LOG_POS=939;
###啟動slave###
mysql>start slave;
mysql>show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.200
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000045
          Read_Master_Log_Pos: 939
               Relay_Log_File: relay-bin.000001
                Relay_Log_Pos: 4
        Relay_Master_Log_File: mysql-bin.000045
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              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: 939
              Relay_Log_Space: 154
              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: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 23306
                  Master_UUID: 9a13d860-b55b-11e6-bf33-00163e054164
             Master_Info_File: /data/mysql/mysql3306/data/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
           Master_Retry_Count: 86400
                  Master_Bind: 
      Last_IO_Error_Timestamp: 
     Last_SQL_Error_Timestamp: 
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
           Retrieved_Gtid_Set: 
            Executed_Gtid_Set: 3feb36dc-ef7e-11e6-a535-52540043f116:1-337886
                Auto_Position: 0
         Replicate_Rewrite_DB: 
                 Channel_Name: 
           Master_TLS_Version: 
1 row in set (0.00 sec)
###這裡看到Slave_IO_Running和Slave_SQL_Running雙YES一般就沒問題了。 ######驗證######現在可以在主上面進行一些新資料庫、新資料表、插入輸出等方式來驗證是否主從生效。此步驟就大家自己隨意發揮吧! ###

以上是教你如何在阿里雲與騰訊雲輕鬆搭建傳統主從複製環境教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Vue框架下,如何快速搭建统计图表系统Vue框架下,如何快速搭建统计图表系统Aug 21, 2023 pm 05:48 PM

Vue框架下,如何快速搭建统计图表系统在现代网页应用中,统计图表是必不可少的组成部分。Vue.js作为一款流行的前端框架,提供了很多便捷的工具和组件,能够帮助我们快速搭建统计图表系统。本文将介绍如何利用Vue框架以及一些插件来搭建一个简单的统计图表系统。首先,我们需要准备一个Vue.js的开发环境,包括安装Vue脚手架以及一些相关的插件。在命令行中执行以下命

雾锁王国能野地搭建筑吗雾锁王国能野地搭建筑吗Mar 07, 2024 pm 08:28 PM

玩家在雾锁王国中进行游戏时可以收集不同的材料用来建造建筑,有很多玩家想知道野地搭建筑吗,雾锁王国能野地是不能搭建筑的,必须要在祭坛的范围内才可以搭建。雾锁王国能野地搭建筑吗答:不能。1、雾锁王国能野地是不能搭建筑的。2、建筑必须要在祭坛的范围内才可以搭建。3、玩家可以自行放置灵火祭坛,但一旦离开了范围,将无法进行建筑搭建。4、我们也可以直接在山上挖个洞当做我们的家,这样不用耗建筑材料。5、玩家自己搭建的建筑中,存在舒适度机制,也就是说,内饰越好,舒适度越高。6、高舒适度将为玩家带来属性加成,例如

CentOS 7下搭建web服务器的网络安全加固技巧CentOS 7下搭建web服务器的网络安全加固技巧Aug 05, 2023 pm 01:12 PM

CentOS7下搭建web服务器的网络安全加固技巧web服务器是现代互联网的重要组成部分,因此保护web服务器的安全性非常重要。通过加固网络安全,可以减少风险和避免潜在的攻击。本文将介绍在CentOS7上搭建web服务器时常用的网络安全加固技巧,并提供相应的代码示例。更新系统和软件首先,确保你的系统和软件是最新版本。可以使用以下命令更

账号矩阵怎么搭建?矩阵搭建有哪些作用?账号矩阵怎么搭建?矩阵搭建有哪些作用?Mar 23, 2024 pm 06:46 PM

在当下信息充斥的时代,社交媒体平台已经成为人们获取和分享信息的主要途径。对于个人和企业而言,建立一个有效的账号网络以实现信息的最大传播和提升影响力,已成为亟需解决的挑战。一、账号矩阵怎么搭建?1.明确目标人群在构建账号矩阵之前,关键是明确目标受众,深入了解他们的需求、兴趣和消费习惯,这样才能制定更具针对性的内容策略。2.选择合适的平台根据目标人群的特点,选择适合的社交媒体平台进行布局。目前主流的社交媒体平台有微博、微信、抖音、快手等,每个平台都有其独特的用户群体和传播特点,需要根据实际情况进行选

CentOS 7下搭建web服务器的最佳实践及注意事项CentOS 7下搭建web服务器的最佳实践及注意事项Aug 25, 2023 pm 11:33 PM

CentOS7下搭建web服务器的最佳实践及注意事项引言:在当今互联网时代,web服务器是构建和托管网站的核心组件之一。CentOS7是一个强大的Linux发行版,广泛应用于服务器环境。本文将探讨在CentOS7上搭建web服务器的最佳实践和注意事项,并提供一些代码示例以帮助您更好地理解。一、安装ApacheHTTP服务器Apache是使用最广泛的w

CentOS搭建web服务器的日志管理与监控技巧CentOS搭建web服务器的日志管理与监控技巧Aug 05, 2023 am 08:33 AM

CentOS搭建web服务器的日志管理与监控技巧Web服务器是现代互联网应用的重要组成部分,而服务器的日志管理与监控是确保服务器稳定运行和故障排查的关键。本文将介绍在CentOS操作系统上如何搭建web服务器,并提供一些日志管理与监控的技巧。一、搭建Web服务器安装ApacheApache是一个流行的开源Web服务器软件。在CentOS上安装Apache很简

在PyCharm中快速安装PyTorch:简易指南在PyCharm中快速安装PyTorch:简易指南Feb 24, 2024 pm 09:54 PM

PyTorch安装指南:在PyCharm中快速搭建开发环境PyTorch是当前深度学习领域中备受欢迎的框架之一,具有易用性和灵活性的特点,深受开发者青睐。本文将为大家介绍如何在PyCharm中快速搭建PyTorch的开发环境,方便大家开始深度学习项目的开发。步骤一:安装PyTorch首先,我们需要安装PyTorch。PyTorch的安装通常需要考虑到系统环境

抖音账号怎么搭建最好?账号搭建五件套是什么?抖音账号怎么搭建最好?账号搭建五件套是什么?Apr 02, 2024 am 09:52 AM

随着移动互联网的快速发展,短视频应用抖音已经成为人们日常生活中不可或缺的一部分。拥有一个高人气的抖音账号,不仅能吸引粉丝关注,还能带来商业价值。那么,如何搭建一个最好的抖音账号呢?一、抖音账号怎么搭建最好?1.定位清晰在创建抖音账号之初,首先要明确自己的定位。你是想成为搞笑幽默的段子手,还是专业知识分享者?明确定位有助于吸引精准粉丝,从而增加账号的价值。2.账号命名一个好的账号名字能让粉丝一眼记住你。账号名字应简洁明了,与自己的定位相关,同时具有一定的创意。避免使用过于常见的名字,以免与他人混淆

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。