innobackupex使用實踐

来源:http://www.cnblogs.com/janehoo/archive/2016/08/30/5822439.html
-Advertisement-
Play Games

先介紹一下環境: 我是異機恢復,和本機操作一樣。 一、 全量備份 步驟: ./innobackupex --user=root --password=root --host=172.17.210.112 --parallel=4 --throttle=400 --stream=tar /mysqlb ...


先介紹一下環境:

 MySQL:5.6.19
安裝路徑:/u01/mysql
數據文件:/u01/mysql/data
 備份源:/u02/backup

 我是異機恢復,和本機操作一樣。

一、 全量備份

步驟:

./innobackupex --user=root --password=root --host=172.17.210.112 --parallel=4 --throttle=400 --stream=tar /mysqlbak/innobackupex 2>/mysqlbak/innobackupex/bak.log 1>/mysqlbak/innobackupex/fullbak.tar

註釋一下,常用的參數。

--user=root                               備份操作用戶名,一般都是root用戶
--password=root123                        密碼
--host=172.17.210.112                     主機ip,本地可以不加
--parallel=4 --throttle=400               並行個數,根據主機配置選擇合適的,
                                          預設是1個,多個可以加快備份速度。
--stream=tar                              壓縮類型,這裡選擇tar格式,可以加,可不加。
                                          加上文件就小一點,在備份的時候就已經打包好了。
/mysqlbak/innobackupex                    備份存放的目錄
2>/mysqlbak/innobackupex/bak.log          備份日誌,將備份過程中的輸出信息重定向到bak.log
1>/mysqlbak/innobackupex/fullbak.tar      備份文件壓縮後的名字
     

 給出不壓縮的全備:

./innobackupex --user=root --password=root --host=172.17.210.112 --parallel=4 --throttle=400 /mysqlbak/innobackupex 2>/mysqlbak/innobackupex/bak.log 1>/mysqlbak/innobackupex/

 查看日誌信息,會出現

141011 09:44:02  innobackupex: Executing FLUSH ENGINE LOGS...
141011 09:44:02  innobackupex: Waiting for log copying to finish
xtrabackup: The latest check point (for incremental): '14275993522'
xtrabackup: Stopping log copying thread.
.>> log scanned up to (14275993522)
xtrabackup: Creating suspend file '/tmp/xtrabackup_log_copied' with pid '19659'
141011 09:44:03  innobackupex: All tables unlocked
141011 09:44:03  innobackupex: Waiting for ibbackup (pid=19659) to finish
xtrabackup: Transaction log of lsn (14275990028) to (14275993522) was copied.
innobackupex: Backup created in directory '/mysqlbak/innobackupex'
141011 09:44:04  innobackupex: Connection to database server closed
innobackupex: You must use -i (--ignore-zeros) option for extraction of the tar stream.
141011 09:44:04  innobackupex: completed OK!

表示備份成功。

 

二、全量恢復

恢復備份文件要保證datadir文件為空,否則會報如下的錯誤

[root@newbidb data]# innobackupex --user=root   /data/backup/
IMPORTANT: Please check that the copy-back run completes successfully.
           At the end of a successful copy-back run innobackupex
           prints "completed OK!".
Original data directory is not empty! at /usr/bin/innobackupex line 568. 

恢復第一步:應用日誌。

[root@newbidb bin]# ./innobackupex --user=root --password=root1 --defaults-file=/etc/my.cnf --apply-log /u02/backup/

 

恢復第二步:拷貝文件。

[root@newbidb bin]# ./innobackupex --user=root --password=root1 --defaults-file=/etc/my.cnf --copy-back /u02/backup/

 

註釋一下,常用的參數。

--defaults-file=/etc/my.cnf     恢復會使用my.cnf文件把需要恢復的文件,恢復到my.cnf指定的位置。

--apply-log                           這是備份時產生的日誌,

--copy-back                         這是備份源,解壓後的備份文件。

 

恢復需要一點點的時間,出現下麵信息表示恢覆成功。

innobackupex: Starting to copy InnoDB system tablespace
innobackupex: in '/u02/backup'
innobackupex: back to original InnoDB data directory '/u01/mysql/data'
innobackupex: Copying '/u02/backup/ibdata1' to '/u01/mysql/data/ibdata1'
innobackupex: Starting to copy InnoDB undo tablespaces
innobackupex: in '/u02/backup'
innobackupex: back to '/u01/mysql/data'
innobackupex: Starting to copy InnoDB log files
innobackupex: in '/u02/backup'
innobackupex: back to original InnoDB log directory '/u01/mysql/data'
innobackupex: Copying '/u02/backup/ib_logfile1' to '/u01/mysql/data/ib_logfile1'
innobackupex: Copying '/u02/backup/ib_logfile0' to '/u01/mysql/data/ib_logfile0'
innobackupex: Finished copying back files. 

 

恢復第三步:修改文件許可權。

cd 到data目錄

chown -R mysql.mysql data/

 

可能出現的報錯:

    1、出現下麵錯誤,先初始化一下mysql

[root@newbidb support-files]# ./mysql.server start

Starting MySQL...The server quit without updating PID file (/u01/mysql/data/newbidb.pid).[FAILED]

[root@newbidb script]# ./mysql_install_db --basedir=/u01/mysql --no-defaults --skip-name-resolve --user=mysql --datadir=/u01/mysql/data

 

    2、許可權:應該恢復使用的是root用戶,但是MySQL需要MySQL用戶去訪問。

[root@newbidb support-files]# ./mysql.server restart

MySQL server PID file could not be found![FAILED]

Starting MySQL.The server quit without updating PID file (/u01/mysql/data/newbidb.pid).[FAILED]

 

    3、連接MySQL的時候

[root@newbidb bin]# ./mysql -uroot -p

Enter password:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

沒有這個文件,touch  mysql.sock 並修改文件許可權。

 


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

-Advertisement-
Play Games
更多相關文章
  • SQLite3是iOS內嵌的資料庫,SQLite3在存儲和檢索大量數據方面非常有效,它使得不必將每個對象都加到記憶體中。還能夠對數據進行負責的聚合,與使用對象執行這些操作相比,獲得結果的速度更快。 SQLite3使用SQL結構化查詢語言,SQL是與關係資料庫交互的標準語言。 SQLite3的使用: 1 ...
  • 一:首先查看一下關於UIEvent的定義 UIEvent是代表iOS系統中的一個事件,一個事件包含一個或多個的UITouch;UIEvent分為三類:UIEventTypeTouches觸摸事件(通過觸摸、手勢進行觸發,例如手指點擊、縮放)、UIEventTypeMotion運動事件,通過加速器進行 ...
  • 一、問題回顧 問題是git commit --amend 引起的。 一條commit已經push到遠端develop了,但是後來又在這條commit上進行了amend操作,導致這條commit的哈希碼發生了變化。並且後續又在這條commit之後進行了N條commit操作。 <Begin> 大概的情況 ...
  • 今天一同事反饋使用SQL Server 2012 Management Studio連接SQL Server 2014後,選擇資料庫中某個表,然後單擊右鍵時,就會遇到下麵錯誤: 這個錯誤初看以為是許可權問題,後面驗證、檢查、查找資料過後,發現這個是一個bug來的,需要升級或應用SQL Server M... ...
  • 一直想抽個時間整理下最近的所學,斷斷續續接觸hive也有半個多月了,大體上瞭解了很多Hive相關的知識。那麼,一般對陌生事物的認知都會經歷下麵幾個階段: 為什麼會出現?解決了什麼問題? 如何搭建?如何使用? 如何精通? 我會在本篇粗略的介紹下前兩個問題,然後給一些相關的資料。第三個問題,就得慢慢靠實 ...
  • Apache Spark是一個圍繞速度、易用性和複雜分析構建的大數據處理框架,最初在2009年由加州大學伯克利分校的AMPLab開發,並於2010年成為Apache的開源項目之一,與Hadoop和Storm等其他大數據和MapReduce技術相比,Spark有如下優勢: Spark提供了一個全面、統 ...
  • ...
  • 最近接觸了很多資料庫的東西,本來是一直接觸的是sql server,不過由於項目需要就開始對mysql進行了連接。下麵就讓我這個菜鳥淺談下經驗吧。 對於C++連接mysql,我不太喜歡多下載一個軟體mysqlodbc,所以採用的是通過mysql自己的API函數進行連接: 1、使用API的方式連接,需 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...