MySQL主從複製以及在本地環境搭建

来源:https://www.cnblogs.com/xq-0226/archive/2019/09/07/11483590.html
-Advertisement-
Play Games

MySQL主從複製原理: master(主伺服器),slave(從伺服器) 1. MySQL master 將數據變更寫入二進位日誌( binary log, 其中記錄叫做二進位日誌事binary log events,可以通過 show binlog events 進行查看) 2. MySQL s ...


MySQL主從複製原理:


master(主伺服器),slave(從伺服器)

  1. MySQL master 將數據變更寫入二進位日誌( binary log, 其中記錄叫做二進位日誌事binary log events,可以通過 show binlog events 進行查看)
  2. MySQL slave 將 master 的 binary log events 拷貝到它的中繼日誌(relay log)
  3. MySQL slave 重放 relay log 中事件,將數據變更反映它自己的數據

1.MySQL下載安裝

2.本地搭建主從複製

  • 首先需要在本地安裝至少兩個MySQL伺服器,為了避免埠衝突,可以把mysql的伺服器的埠設置不同,這裡我設置一個為3306,另一個伺服器的埠號為3307,埠號在mysql的配置文件my.ini中配置。
  • 主伺服器配置

    [mysqld]
    port=3306
    basedir="D:/master/MySQL/"
    datadir="D:/master/MySQL/data/"
    character-set-server=utf8
    server_id=1
    log-bin=mysql-bin#要生成的二進位日記文件名稱
    binlog-do-db=test#同步的資料庫
    binlog-ignore-db=mysql#不參與同步的資料庫 ,例如mysql

  • 從伺服器配置

    [mysqld]
    port=3307
    basedir=D:\slave\mysql2
    datadir=D:\slave\mysql2\data
    server-id=2 
    log-bin=mysql-bin#開啟了二進位文件
    binlog_do_db=follow#主從複製的資料庫
    binlog_ignore_db=mysql#不參與主從複製的資料庫,例如mysql

  • 接下來在主伺服器登錄mysql,創建用於主從複製的用戶並授權
    create user 'xiao'@'127.0.0.1' identified by 'password';
    grant replication slave on . to xiao@'127.0.0.1';

  • 在從伺服器上用創建的用戶登錄主伺服器,看能不能成功,成功繼續下麵的步驟

  • 在主伺服器上執行命令:
    show master status;(此命令查看主伺服器的bin-log日誌文件名稱和position點)

mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 107 | test | mysql |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

  • 在從伺服器上執行以下命令:

在從庫設置它的master:

mysql> change master to

master_host='127.0.0.1',master_port=3306,master_user='xiao',master_password='password',master_log_file='mysql-bin.000001',master_log_pos=107;

Query OK, 0 rows affected (0.19 sec)

這裡的master_log_file和master_log_pos對應剛纔show master status記下的參數。

  • 在從庫開啟從資料庫複製功能。

mysql>start slave;

Query OK, 0 rows affected (0.00 sec)

  • 在從庫可以通過show slave status\G來查看一些參數。

當Slave_IO_Running和Slave_SQL_Running線程都為yes是主從複製配置成功!

  • 此時在主庫創建表或插入數據,在從庫就會很快也能看到了。

-- 主庫

mysql> create table tianyc_02(b int);

Query OK, 0 rows affected (0.16 sec)

mysql> insert into tianyc_02 values(2013);

Query OK, 1 row affected (0.13 sec)

-- 從庫

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| tianyc_01 |
| tianyc_02 |
+----------------+
2 rows in set (0.00 sec)

mysql> select * from tianyc_02;
+------+
| b |
+------+
| 2013 |
+------+
1 row in set (0.00 sec)

同理,可以搭建第二、第三個從節點。

備註:兩個服務的serve_id必須不同,否則在開啟複製功能時會提示錯誤

mysql> slave start;

ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO

我這裡設置的主節點id為1,從節點id為2。也可以按照ip或埠進行設置,好用來區分。


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

-Advertisement-
Play Games
更多相關文章
  • 新安裝的Ubuntu系統中預設的root用戶密碼是多少?該怎麼修改? 如題,相信許多剛接觸Ubuntu系統的新手大多會遇到這個問題,那麼我們該如何解決這個問題呢?Ubuntu在安裝過程中並沒有讓我們設置root用戶密碼,但當我們需要獲取root用戶的許可權時,就會讓我們輸入root用戶的密碼,如下圖, ...
  • 1. 標準輸入重定向(STDIN,文件描述符為0):預設從鍵盤輸入,也可以從其他文件或命令中輸入 2. 標準輸出重定向(STDOUT,文件描述符為1):預設輸出到屏幕 3. 錯誤輸出重定向(STDERR,文件描述符為2):預設輸出到屏幕 範例:比如我們分別查看兩個文件的屬性信息,其中第二個文件是不存 ...
  • 查看GPU型號: 驅動安裝: https://www.nvidia.cn/Download/index.aspx?lang=cn 下載對應版本的驅動驅動程式; 安裝 gcc, g++, make 最新版本程式; 安裝 ubuntu 32 位相容庫; 運行 .run 文件進行安裝;閱讀其中提示的信息並 ...
  • 參考文檔:https://www.jianshu.com/p/7579a2ad1c92 通過鏈接中的文檔配置linux系統的時候,在執行命令yum install net-tools的這裡提示錯誤,是因為之前修改網卡文件ifcfg-ens33(這裡每個人可能不一樣,只要是第一個ifcfg-ens開頭 ...
  • Linux下的音頻編程中有OSS和ALSA,本篇文章將對ALSA進行相關介紹。 ...
  • 一、需求分析 現在的小學生算數能力需要經常鍛煉,但是出題成了家長們的一大難題,因為人工出題需要自己計算,但是利用程式出題可以很快速,準確的出題。 二、功能設計 1、基本功能 (1)自動生成10道100以內的2個操作數的四則運算算式(+ - * /),要求運算結果也在100以內 (2)剔除重覆算式。 ...
  • 監控工具DPA發現海外一臺Oracle資料庫伺服器DB Commit Time指標告警,超過紅色告警線(40毫秒左右,黃色告警是10毫秒,紅色告警線是20毫秒),如下截圖所示,生成了對應的時段的AWR報告,發現Top 5 Timed Events裡面,log file sync等待事件的平均等待時間... ...
  • 一、安裝redis windows版本的下載在https://github.com/MicrosoftArchive/redis/tags msi是安裝版,zip的解壓就能用。建議下msi的。 下載挺慢的,安裝過程中遇到選框就勾選就行了。 可以設置密碼,預設沒有密碼 設置密碼:在安裝路徑上找這兩個文 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...