mysql資料庫主從操作記錄

来源:https://www.cnblogs.com/ccit/archive/2018/11/21/9998599.html
-Advertisement-
Play Games

master資料庫已投入生產一段時間後,做主從複製的操作記錄 環境: master庫:172.18.237.13slave庫:172.18.237.14 mysql版本說明: master:mysql 5.6.33 slave:mysql 5.6.35 我到公司的時候已經裝了5.6.33版本,找了很 ...


master資料庫已投入生產一段時間後,做主從複製的操作記錄

環境:

master庫:172.18.237.13
slave庫:172.18.237.14

mysql版本說明:

master:mysql 5.6.33 

slave:mysql 5.6.35

我到公司的時候已經裝了5.6.33版本,找了很久沒有找到5.6.33版本的包,勉強找到了5.6.35版本的包,只能硬頭皮用著(最終主從搭建成功,暫時未發現其他異常)

1、確保master、slave伺服器時間同步

yum -y install ntp

ntpdate  time.pool.aliyun.com #最好使用crontab做為任務定時時間同步

systemctl start ntpd

systemctl enable ntpd

2、master資料庫授權slave伺服器主從同步帳號
grant replication slave on *.* to tb@'172.18.237.14' identified by '123456';

3、鎖定master庫
FLUSH TABLES WITH READ LOCK;

#解鎖命令:UNLOCK TABLES;
4、備份master資料庫至all.sql,排除資料庫系統庫(Database|performance_schema|information_schema|mysql|test)
mysql -e "show databases;" -uroot -p| grep -Ev "Database|performance_schema|information_schema|mysql|test" | xargs mysqldump -uroot -p --databases > all.sql
5、將all.sql備份文件scp至slave伺服器

scp all.sql [email protected]:/root/

6、進入slave伺服器將mysql的data目錄中的文件進行備份(內容僅僅是初裝的系統庫等文件)

cp  /data/mysql56  /data/mysql56.bak

7、再用all.sql還原到slave資料庫中
mysql -uroot -p <all.sql

8、提前將bin-log日誌存放目錄創建並將其改用戶、用戶組改為mysql,my.cnf配置將加入日誌存放路徑

cd /usr/local/mysql/data/

mkdir binglogs

chown -R mysql:mysql binglogs
9、修改master庫my.cnf文件開啟主從配置以及bin-log,加入如下配置參數:

#開啟主從和binlog日誌記錄
server-id = 52
log-bin = mysql-bin
#binlog日誌定期清理,單位天。
expire_logs_days = 5
#binlog日誌保存路徑和文件名,可根據實際目錄進行改寫
log-bin = /usr/local/mysql/data/binlogs/mysql-bin
#使用混合模式複製
binlog_format = mixed
#binlog每個日誌文件大小
max_binlog_size = 100M
#binlog緩存大小
binlog_cache_size = 4M
#最大binlog緩存大小
max_binlog_cache_size = 512M
10、重啟master資料庫,使其主從配置生效,此時資料庫會從之前的加鎖狀態自動解鎖。
service mysqld restart

/usr/local/mysql/data/binlogs/下已經存在bin-log日誌表示成功開啟bin-log日誌記錄
11、進入master資料庫,查看master狀態,查看bin-log文件名以及position點
show master status;
如:
File        | Position
mysql-bin.000001 | 1692
12、由於資料庫重啟會自動解鎖,又是生產資料庫,此時通常有資料庫寫入或更新,position點
也會持續變化,所以此時查看到的position點不是最初的,應找到bin-log日誌文件查看最初的position點作為slave同步初始點。

這裡通過mysqlbinlog工具將不可直接讀取的bin-log日誌轉換為可讀格式在進行查看。

mysqlbinlog mysql-bin.000001 >abc.txt

head -n10 abc.txt
查看結果如下:(找到第一個position點作為slave同步初始點end_log_pos 120)
#181121 21:27:14 server id 52 end_log_pos 120 CRC32 0xcc4e91f2 Start: binlog v 4, server v 5.6.33-log created 181121 21:27:14 at startup
13、進入slave伺服器,修改slave庫my.cnf配置文件,開啟主從模式

#不能與master的值一致
server-id = 203
#從資料庫通常要求只讀(可以限定普通用戶進行數據修改的操作,但不會限定具有super許可權的用戶(如超級管理員root用戶)的數據修改操作。)
read_only=1
#還可以添加其他參數...

14、重啟slave,使其主從配置生效
service mysqld restart
15、連接slave資料庫,配置master的相關參數並啟動slave(position點用上面第12步查到的點)
change master to master_host='172.18.237.13',master_user='tb',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;
start slave;
16、查看主從連接狀態
show slave status\G;
如下所示表示主從創建成功:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • nuget添加npoi ...
  • 目前遇到的,之後遇到再加 1.時間格式要用.ToString("yyyy-MM-dd HH:mm:ss"); 2.文件路徑要用Path.Combine(); 3.Supervisor的運行配置ini文件必須為UTF-8格式 ...
  • .net中的字元串操作性能問題由來已久,幸運的是微軟推出了span<T>高性能指針操作封裝工具類。這個類到底有多高的性能呢?網上傳言反正很高,但是實際上在網上很難找到合適的測試實例,這讓本人實在無力吐槽。經不住高性能這三個字的誘惑,本人還是瞭解了一番後做了幾個簡單樣例來測試一番,下麵列出幾種字元串常 ...
  • 異常信息: System.IO.FileLoadException:“混合模式程式集是針對“v2.0.50727”版的運行時生成的,在沒有配置其他信息的情況下,無法在 4.0 運行時中載入該程式集。” 解決方案: 在app.config新增如下配置節: <startup useLegacyV2Run ...
  • 什麼是EF? ADO.NET Entity Framework 是一個對象-關係的映射架構。 它支持直接定義完全獨立於資料庫結構的實體類,並把它們映射到資料庫的表和關係上。 三種編程模型: 資料庫優先開發模式(Database First Development) 模型優先開發模式(Model Fi ...
  • " 【.NET Core項目實戰 統一認證平臺】開篇及目錄索引 " 上篇文章我介紹瞭如何在網關上增加自定義客戶端授權功能,從設計到編碼實現,一步一步詳細講解,相信大家也掌握了自定義中間件的開發技巧了,本篇我們將介紹如何實現自定義客戶端的限流功能,來進一步完善網關的基礎功能。 .netcore項目實戰 ...
  • ASP.NET -- WebForm -- Cookie的使用 Cookie是存在瀏覽器記憶體或磁碟上。 1. Test3.aspx文件 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test3.aspx.cs" Inherits="T ...
  • Linux文件類型和Linux文件的文件名所代表的意義是兩個不同的概念。我們通過一般應用程式而創建的比如file.txt、file.tar.gz ,這些文件雖然要用不同的程式來打開,但放在Linux文件類型中衡量的話,大多是常規文件(也被稱為普通文件)。 一. 文件類型 Linux文件類型常見的有: ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...