自建單機MySQL資料庫備份方案

来源:https://www.cnblogs.com/gdwkong/archive/2020/07/01/13218452.html
-Advertisement-
Play Games

一、環境 環境:Centos 6.5 ,MySQL 5.7.22, yum install 命令安裝 二、備份 指定備份路徑,指定 --master-data=2 參數備份時輸出 MASTER_LOG_POS 位置信息 備份腳本: 1 #!/bin/bash 2 3 backup_path=/hom ...


一、環境

  環境:Centos 6.5 ,MySQL 5.7.22, yum install 命令安裝

二、備份

指定備份路徑,指定 --master-data=2 參數備份時輸出 MASTER_LOG_POS 位置信息

備份腳本:

 1 #!/bin/bash
 2 
 3 backup_path=/home/app/bak_mysql
 4 password="password"
 5 
 6 err() {
 7     echo "[$(date +'%Y-%m-%d %H:%M:%S')]: $@" >&2 >>${backup_path}/fail_$(date +%Y%m%d).log
 8 }
 9 #錯誤後列印錯誤信息生成日誌
10 
11 mysqldump -uroot -p${password} --opt -R --events --triggers=true\
12     --master-data=2 --single-transaction databaseName --ignore-table=databaseName.t_attachment\
13     | gzip > ${backup_path}/backup_$(date +%Y%m%d).sql.gz
14 #備份同時壓縮
15 
16 if [ $? -ne 0 ];then
17     err $?
18     exit
19 fi

三、定時任務:

  1.  查看定時任務
crontab 命令選項基本只對用戶操作的選項: -u 指定一個用戶 -l 列出某個用戶的任務計劃 -r 刪除某個用戶的任務 -e 編輯某個用戶的任務 示例:   查看指定用戶的定時任務
[root@daf  ~]# crontab -u username -l
no crontab for vfit
  要查看所有用戶的,只能根據 /etc/passwd 文件中的用戶名一一列舉了,可以用腳本。
for u in `cat /etc/passwd | cut -d":" -f1`;do crontab -l -u $u;done

  給指定用戶創建定時任務

1 [root@*** ~]# crontab -u username -e
2 no crontab for username - using an empty one
3 crontab: installing new crontab
4 [root@*** ~]# crontab -u username -l
5 0 2 */2 * * /home/username/backup_mysql/backup_mysql.sh
若指定用戶無許可權操作指定腳本則需進行授權: chmod u+x backup_mysql.sh  定時任務日誌文件目錄:/var/log/cron

三、恢復方案

  1、準備好最新的備份文件進行全量恢復

  2、找出增量文件

  3、恢複數據

1 [vfit@iZ946xtgmogZ bak_mysql]$ grep MASTER_LOG_POS bak.sql
2 -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000004', MASTER_LOG_POS=1633307;
3 
4 [vfit@iZ946xtgmogZ bak_mysql]$ mysqlbinlog --no-defaults --database=bak --start-position=1633307 /var/lib/mysql/mysql-bin.000004 > ~/addbak.sql
5 //刪除問題語句 執行恢復代碼
6 [vfit@iZ946xtgmogZ bak_mysql]$ mysql -uroot -pgo2020@Vfangtuan bak < ~/bak.sql
7 [vfit@iZ946xtgmogZ bak_mysql]$ mysql -uroot -pgo2020@Vfangtuan bak < ~/addbak.sql

  錯誤語句示例:


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

-Advertisement-
Play Games
更多相關文章
  • Java類在CMD命令行下運行要註意什麼? 1、刪除Java類中的package語句 2、如果包含中文字元,可追加 -encoding utf-8 3、在Java類所在目錄 打開CMD 首先按住shift鍵,然後滑鼠右擊java類所在目錄空白處,點選在此處打開命令視窗 4、運行如下命令: javac ...
  • # 【VM機器,二進位安裝】 # 安裝環境# OS System = CentOS-7.4 X64# JDK = jdk-12.0.2# zookeeper = zookeeper-3.6.1-x64# zkui = zkui-2.0 , 備註:main.java有修複一個bug關於config.c ...
  • 今天要給大家介紹的一個 Unix 下的一個 網路數據採集分析工具,也就是我們常說的抓包工具。 與它功能類似的工具有 wireshark ,不同的是,wireshark 有圖形化界面,而 tcpdump 則只有命令行。 由於我本人更習慣使用命令行的方式進行抓包,因此今天先跳過 wireshark,直接 ...
  • 第一個步驟:修改ssh服務配置文件 vi /etc/ssh/sshd_config 79 GSSAPIAuthentication no 115 UseDNS no 第二個步驟:修改hosts文件 [root@oldboyedu ~]# vi /etc/hosts 10.0.0.200 oldboy ...
  • Harbor介紹與安裝部署,並實現通過http和https協議【自簽發SSL證書】訪問,客戶端如何通過Harbor鏡像倉庫實現鏡像的上傳【推送】與下載【拉取】。 ...
  • MongoDB安裝 選擇使用Yum安裝 1、製作 repo 文件 cat << EOF > /etc/yum.repos.d/mongodb-org-4.2.repo [mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mon ...
  • 轉自:https://www.cnblogs.com/zhaohaiyu/p/11459613.html 一、如何創建用戶和密碼 1.進入到mysql資料庫下 mysql> use mysql Database changed 2.對新用戶增刪改 1.創建用戶 # 指定ip:192.118.1.1的 ...
  • 離線安裝 軟體包下載地址:http://mirrors.sohu.com/mysql/MySQL-8.0/ 這裡使用8.0.18版本,對應各軟體包下載鏈接如下: http://mirrors.sohu.com/mysql/MySQL-8.0/mysql-community-client-8.0.18 ...
一周排行
    -Advertisement-
    Play Games
  • C#TMS系統代碼-基礎頁面BaseCity學習 本人純新手,剛進公司跟領導報道,我說我是java全棧,他問我會不會C#,我說大學學過,他說這個TMS系統就給你來管了。外包已經把代碼給我了,這幾天先把增刪改查的代碼背一下,說不定後面就要趕鴨子上架了 Service頁面 //using => impo ...
  • 委托與事件 委托 委托的定義 委托是C#中的一種類型,用於存儲對方法的引用。它允許將方法作為參數傳遞給其他方法,實現回調、事件處理和動態調用等功能。通俗來講,就是委托包含方法的記憶體地址,方法匹配與委托相同的簽名,因此通過使用正確的參數類型來調用方法。 委托的特性 引用方法:委托允許存儲對方法的引用, ...
  • 前言 這幾天閑來沒事看看ABP vNext的文檔和源碼,關於關於依賴註入(屬性註入)這塊兒產生了興趣。 我們都知道。Volo.ABP 依賴註入容器使用了第三方組件Autofac實現的。有三種註入方式,構造函數註入和方法註入和屬性註入。 ABP的屬性註入原則參考如下: 這時候我就開始疑惑了,因為我知道 ...
  • C#TMS系統代碼-業務頁面ShippingNotice學習 學一個業務頁面,ok,領導開完會就被裁掉了,很突然啊,他收拾東西的時候我還以為他要旅游提前請假了,還在尋思為什麼回家連自己買的幾箱飲料都要叫跑腿帶走,怕被偷嗎?還好我在他開會之前拿了兩瓶芬達 感覺感覺前面的BaseCity差不太多,這邊的 ...
  • 概述:在C#中,通過`Expression`類、`AndAlso`和`OrElse`方法可組合兩個`Expression<Func<T, bool>>`,實現多條件動態查詢。通過創建表達式樹,可輕鬆構建複雜的查詢條件。 在C#中,可以使用AndAlso和OrElse方法組合兩個Expression< ...
  • 閑來無聊在我的Biwen.QuickApi中實現一下極簡的事件匯流排,其實代碼還是蠻簡單的,對於初學者可能有些幫助 就貼出來,有什麼不足的地方也歡迎板磚交流~ 首先定義一個事件約定的空介面 public interface IEvent{} 然後定義事件訂閱者介面 public interface I ...
  • 1. 案例 成某三甲醫預約系統, 該項目在2024年初進行上線測試,在正常運行了兩天後,業務系統報錯:The connection pool has been exhausted, either raise MaxPoolSize (currently 800) or Timeout (curren ...
  • 背景 我們有些工具在 Web 版中已經有了很好的實踐,而在 WPF 中重新開發也是一種費時費力的操作,那麼直接集成則是最省事省力的方法了。 思路解釋 為什麼要使用 WPF?莫問為什麼,老 C# 開發的堅持,另外因為 Windows 上已經裝了 Webview2/edge 整體打包比 electron ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...