Mysql 多主一從數據備份

来源:https://www.cnblogs.com/fzng/archive/2018/12/10/10094895.html
-Advertisement-
Play Games

Mysql 多主一從數據備份 概述 對任何一個資料庫的操作都自動應用到另外一個資料庫,始終保持兩個資料庫中的數據一致。 這樣做有如下幾點好處: 1. 可以做災備,其中一個壞了可以切換到另一個。 2. 可以做負載均衡,可以將請求分攤到其中任何一臺上,提高網站吞吐量。 對於異地熱備,尤其適合災備。 My ...


Mysql 多主一從數據備份

概述

對任何一個資料庫的操作都自動應用到另外一個資料庫,始終保持兩個資料庫中的數據一致。

這樣做有如下幾點好處:

  1. 可以做災備,其中一個壞了可以切換到另一個。
  2. 可以做負載均衡,可以將請求分攤到其中任何一臺上,提高網站吞吐量。 對於異地熱備,尤其適合災備。




MySQL 主從複製的方式

1 Master 資料庫操作的任何資料庫的時候,都會將操作記錄寫入到biglog日誌文件當中
2 Slave 資料庫通過網路獲取到主資料庫的日誌文件,寫入本地日誌系統 ,然後一條條的將資料庫事件在資料庫中完成
3 Slave 重做中繼日誌中的事件,將 Master 上的改變反映到它自己的資料庫中,所以兩端的數據是完全一樣的。

環境

操作系統:CentOS

MySQL版本:mysql-5.6.26 (主從兩者資料庫版本必須保持一致)

Master1 配置

1 開啟binlog日誌功能

vim /etc/my.cnf

server-id=6
log-bin=mysql-bin

2 重啟mysql 登陸並授權

mysql -uroot -p123456

grant replication slave, replication client on *.* to 'repl'@'10.211.55.7' identified by '123456';

ip地址為slave伺服器的ip地址

3 查看日誌狀態

show master status;



Master2 配置

1 開啟binlog日誌功能

vim /etc/my.cnf

server-id=8
log-bin=mysql-bin

2 重啟mysql 登陸並授權

mysql -uroot -p123456

grant replication slave, replication client on *.* to 'repl'@'10.211.55.7' identified by '123456';

ip地址為slave伺服器的ip地址

3 查看日誌狀態

show master status;



Slave 配置

1 修改配置文件 (註意 slave的預設資料庫啟動的埠必須關閉 service mysql stop)

vim /etc/my.cnf

[mysqld]
 binlog-ignore-db=mysql
 binlog_format=mixed
 expire_logs_days=7
 slave_skip_errors=1062
 relay_log=mysql-relay-bin
 log_slave_updates=1

[mysqld_muliti]
 mysqld=/usr/bin/mysqld_safe
 mysqladmin=/usr/bin/mysqladmin
 user=root
 password=123456
[mysqld6]
 port=3306
 datadir=/home/mysql/data6
 pid-file=/home/mysql/data6/mysql.pid
 socket=/home/mysql/data6/mysql.sock
 user=mysql
 server-id=7
[mysqld8]
 port=3307
 datadir=/home/mysql/data8
 pid-file=/home/mysql/data8/mysql.pid
 socket=/home/mysql/data8/mysql.sock
 user=mysql
 server-id=7

2 初始化生成目錄

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/data6 &
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/data8 &

3 修改目錄許可權

chown -R mysql /home/mysql/data6

chown -R mysql /home/mysql/data8

4 啟動服務

mysqld_multi --defaults-file=/etc/my.cnf start 6

mysqld_multi --defaults-file=/etc/my.cnf start 8

5 登錄測試(並分別做授權)

mysql -P 3306 -S /home/mysql/data6/mysql.sock

mysql> change master to master_host='10.211.55.6', master_user='repl', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos=120;
mysql> start slave;

mysql -P 3307 -S /home/mysql/data8/mysql.sock

mysql> change master to master_host='10.211.55.8', master_user='repl', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos=120;
mysql> start slave;

ok 就這樣 完成了


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

-Advertisement-
Play Games
更多相關文章
  • iptables埠轉髮指令:iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443 iptables配置文件位置 :cat /etc/sysctl.conf vim /etc/sysctl.conf ( ...
  • lsof(list open files)是一個列出當前系統打開文件的工具。在linux環境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規數據,還可以訪問網路連接和硬體。所以如傳輸控制協議 (TCP) 和用戶數據報協議 (UDP) 套接字等,系統在後臺都為該應用程式分配了一個文件描述符, ...
  • 1、官網下載mysql資料庫:https://dev.mysql.com/downloads/mysql/ 2、linux 下可直接下載:wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_ ...
  • 參考: http://www.cnblogs.com/yxwkf/p/5092589.html 1. 安裝包下載 下載地址:https://github.com/claudemamo/kafka-web-console/releases 目前最新是2.0.0版本 2.編譯安裝包 kafka web ...
  • 事務提交讀註意事項 語法:set transaction isolation level read committed。 資料庫預設的是兩個會話事務之間是提交讀。 READ COMMITTED指定語句不能讀取已由其他事務修改但尚未提交的數據。 這樣可以避免臟讀。 其他事務可以在當前事務的各個語句之間 ...
  • 本人微信公眾號,歡迎掃碼關註! HDFS概念及命令行操作 一、HDFS概念 1.1 概念 HDFS,它是一個文件系統,用於存儲文件,通過目錄樹來定位文件;其次,它是分散式的,由很多伺服器聯合起來實現其功能,集群中的伺服器有各自的角色。 HDFS的設計適合一次寫入,多次讀出的場景,且不支持文件的修改。 ...
  • 尤其是在學習的過程, 也是天天和資料庫打交道, 難免會有腦子短路的時候, 比如root密碼忘記了, 你說怎麼辦~~~, 沒關係, 往下看 mysql提供了一種跳過用戶認證的配置, 參數, 你配置上這個參數後, 就可以不驗證直接登進資料庫.. 修改配置文件 以Linux為例, mysql的配置文件一般 ...
  • 現mysql中有一張表php_user表,表結構為: 表中數據有: 現在想查詢出來不同學生的語數外成績在一行顯示,那麼需要用到行轉列的用法, 一、行轉列 1、使用case...when....then 進行行轉列MAX(case when 條件 then 列內容 else 不匹配時顯示內容 end) ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...