衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在Linux下實現MySQL數據庫定時自動備份

馬哥Linux運維 ? 來源:未知 ? 作者:胡薇 ? 2018-11-26 11:05 ? 次閱讀

備份是容災的基礎,是指為防止系統出現操作失誤或系統故障導致數據丟失,而將全部或部分數據集合從應用主機的硬盤或陣列復制到其它的存儲介質的過程。而對于一些網站、系統來說,數據庫就是一切,所以做好數據庫的備份是至關重要的!

備份是什么?

為什么要備份?

容災方案建設

存儲介質

光盤

磁帶

硬盤

磁盤陣列

DAS:直接附加存儲

NAS網絡附加存儲

SAN:存儲區域網絡

云存儲

這里主要以本地磁盤為存儲介質講一下計劃任務的添加使用,基本的備份腳本,其它存儲介質只是介質的訪問方式可能不大一樣。

1、查看磁盤空間情況:

既然是定時備份,就要選擇一個空間充足的磁盤空間,避免出現因空間不足導致備份失敗,數據丟失的惡果!

存儲到當前磁盤這是最簡單,卻是最不推薦的;服務器有多塊硬盤,最好是把備份存放到另一塊硬盤上;有條件就選擇更好更安全的存儲介質;

2、創建備份目錄:

上面我們使用命令看出 / home 下空間比較充足,所以可以考慮在 / home 保存備份文件;

cd /home

mkdir backup

cd backup

3、創建備份 Shell 腳本:

注意把以下命令中的 DatabaseName 換為實際的數據庫名稱;

當然,你也可以使用其實的命名規則!

vi bkDatabaseName.sh

輸入 / 粘貼以下內容:

#!/bin/bash

/usr/local/mysql/bin/mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql

對備份進行壓縮:

#!/bin/bash

/usr/local/mysql/bin/mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz

注意:

把 username 替換為實際的用戶名;

把 password 替換為實際的密碼;

把 DatabaseName 替換為實際的數據庫名;

4、添加可執行權限:

chmod u+x bkDatabaseName.sh

添加可執行權限之后先執行一下,看看腳本有沒有錯誤,能不能正常使用;

./bkDatabaseName.sh

5、添加計劃任務

檢測或安裝 crontab

確認 crontab 是否安裝:

執行 crontab 命令如果報 command not found,就表明沒有安裝

# crontab

-bash: crontab: command not found

如時沒有安裝 crontab,需要先安裝它,具體步驟請參考:

CentOS 下使用 yum 命令安裝計劃任務程序 crontab

使用 rpm 命令從 CentOS 系統盤安裝計劃任務程序 crontab

添加計劃任務

執行命令:

crontab -e

這時就像使用 vi 編輯器一樣,可以對計劃任務進行編輯。

輸入以下內容并保存:

*/1 * * * * /home/backup/bkDatabaseName.sh

具體是什么意思呢?

意思是每一分鐘執行一次 shell 腳本 “/home/backup/bkDatabaseName.sh”。

例如:

修改 /etc/crontab

#vi /etc/crontab

01 3 * * * root/home/backup/bkDatabaseName.sh

表示每天 3 點鐘執行備份

退出編輯頁:點擊 ESC 推出,然后點擊 ":wq"w 寫入 write q 推出 quit

例如:在每周一中午 12 點運行一次

vi /etc/crontab 然后: 在最后一行, 0 12 * 1 * root run-parts /home/abckup.sh

6、測試任務是否執行

很簡單,我們就執行幾次 “ls” 命令,看看一分鐘過后文件有沒有被創建就可以了!

如果任務執行失敗了,可以通過以下命令查看任務日志:

# tail -f /var/log/cron

輸出類似如下:

Sep 30 14:01:01 bogon run-parts(/etc/cron.hourly)[2503]: starting 0anacron

Sep 30 14:01:01 bogon run-parts(/etc/cron.hourly)[2512]: finished 0anacron

Sep 30 15:01:01 bogon CROND[3092]: (root) CMD (run-parts /etc/cron.hourly)

Sep 30 15:01:01 bogon run-parts(/etc/cron.hourly)[3092]: starting 0anacron

Sep 30 15:01:02 bogon run-parts(/etc/cron.hourly)[3101]: finished 0anacron

Sep 30 15:50:44 bogon crontab[3598]: (root) BEGIN EDIT (root)

Sep 30 16:01:01 bogon CROND[3705]: (root) CMD (run-parts /etc/cron.hourly)

Sep 30 16:01:01 bogon run-parts(/etc/cron.hourly)[3705]: starting 0anacron

Sep 30 16:01:01 bogon run-parts(/etc/cron.hourly)[3714]: finished 0anacron

Sep 30 16:15:29 bogon crontab[3598]: (root) END EDIT (root)

Crontab 的格式

第 1 列分鐘 1~59

第 2 列小時 1~23(0 表示子夜)

第 3 列日 1~31

第 4 列月 1~12

第 5 列星期 0~6(0 表示星期天)

第 6 列要運行的命令

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210406
  • 數據庫
    +關注

    關注

    7

    文章

    3848

    瀏覽量

    64688
  • MySQL
    +關注

    關注

    1

    文章

    829

    瀏覽量

    26744

原文標題:Linux 下如何實現 MySQL 數據庫定時自動備份?

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    何在Rust中連接和使用MySQL數據庫

    何在Rust中連接和使用MySQL數據庫。 安裝 mysql 模塊 這里我們假設你已經安裝了Rust編程語言工具鏈,在本教程中,我們將使用 mys
    的頭像 發表于 09-30 17:05 ?1773次閱讀

    基于linuxmysql數據庫每天自動備份定時備份實現

    linux如何實現mysql數據庫每天自動備份
    發表于 05-10 17:10

    Linux的oracle數據庫備份

    今天遇到需要備份oracle數據庫Linux環境,以前沒有弄過,今天嘗試了一次,特此記錄。
    發表于 07-22 07:36

    如何用labview對數據庫進行備份/如何在MySql中使用命令的方式進行數據庫備份(非cmd窗口非手動保存)

    想要使用labview對數據庫進行備份,但是不清楚語句,在網上查找的信息中,顯示如果要備份數據庫有兩個方法1:使用命令mysqldump ,但是mysqldump 命令必須在 cmd 窗口
    發表于 07-15 16:48

    MySQL數據庫誤刪后的回復技巧

    在日常運維工作中,對于數據庫備份是至關重要的!數據庫對于網站的重要性使得我們對 MySQL 數據庫的管理不容有失!然而是人總難免會犯錯誤,
    發表于 05-05 08:02 ?2367次閱讀
    <b class='flag-5'>MySQL</b><b class='flag-5'>數據庫</b>誤刪后的回復技巧

    Linux教程之linux如何備份還原mysql數據庫

    本文介紹了linux如何備份與恢復mysql數據庫數據庫
    發表于 10-19 17:18 ?4次下載

    PHP的Mysql數據庫備份腳本詳細資料免費下載

    本文檔的主要內容詳細介紹的是PHP的Mysql數據庫備份腳本詳細資料免費下載。
    發表于 06-19 17:15 ?5次下載

    PHP的Mysql數據庫備份腳本的程序免費下載

    本文檔的主要內容詳細介紹的是PHP的Mysql數據庫備份腳本的程序免費下載。
    發表于 06-28 15:37 ?2次下載

    MySQL數據庫管理與應用

    MySQL數據庫管理與應用 MySQL是一種廣泛使用的關系型數據庫管理系統,被認為是最流行和最常見的開源數據庫之一。它可以被用于多種不同的應
    的頭像 發表于 08-28 17:15 ?1028次閱讀

    mysql數據庫備份與還原

    MySQL是一種常見的關系型數據庫管理系統,用于存儲和管理數據備份和還原數據庫是非常重要的操作,可以保護
    的頭像 發表于 11-23 14:32 ?1280次閱讀

    mysql數據庫基礎命令

    MySQL是一個流行的關系型數據庫管理系統,經常用于存儲、管理和操作數據。在本文中,我們將詳細介紹MySQL的基礎命令,并提供與每個命令相關的詳細解釋。 登錄
    的頭像 發表于 12-06 10:56 ?645次閱讀

    數據庫數據恢復—未開啟binlog的Mysql數據庫數據恢復案例

    mysql數據庫數據恢復環境: 本地服務器,windows server操作系統 ,部署有mysql單實例,數據庫引擎類型為innodb,
    的頭像 發表于 12-08 14:18 ?1215次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—未開啟binlog的<b class='flag-5'>Mysql</b><b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復案例

    mysql定時備份任務

    在生產環境上,為了避免數據的丟失,通常情況都會定時的對數據庫進行備份。而Linux的cront
    的頭像 發表于 10-31 10:07 ?215次閱讀

    windows服務器備份mysql腳本

    osimport reimport datetimeimport subprocess## 需要備份數據庫的登錄信息mysql_host = { 'test': '10.10.3.207'}db_user
    的頭像 發表于 01-02 09:14 ?115次閱讀

    MySQL數據庫的安裝

    MySQL數據庫的安裝 【一】各種數據庫的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】
    的頭像 發表于 01-14 11:25 ?131次閱讀
    <b class='flag-5'>MySQL</b><b class='flag-5'>數據庫</b>的安裝
    百家乐流水打法| 新东方百家乐官网娱乐城| 伯爵百家乐官网娱乐网| 百家乐官网娱乐城| 神娱乐百家乐的玩法技巧和规则 | 凯斯网百家乐官网的玩法技巧和规则| 百家乐庄不连的概率| 太阳城二手房| 真人百家乐官网出千| 91百家乐官网的玩法技巧和规则 | 全讯网zq06| A8百家乐官网游戏| 百家乐官网庄闲排列| 金百家乐的玩法技巧和规则| 博彩| 百家乐官网如何切牌好| 中国百家乐技巧| 永利高足球博彩网| 百家乐官网的出千手法| 澳门百家乐赌钱| 太阳成娱乐网| 百家乐官网怎么才能包赢| 金百家乐的玩法技巧和规则| 澳门百家乐官网出千| 属鸡与属羊做生意| 大发888最佳状态| 百家乐官网赌博在线娱乐| 乐天堂百家乐娱乐| 互联网百家乐的玩法技巧和规则| 明溪县| 百家乐庄家赢钱方法| 皇冠网219678| 正品百家乐官网网站| 大发888娱乐场 下载| 百家乐官网波音平台开户导航| 百家乐布| 新葡京百家乐官网现金| 百家乐顶| 百家乐官网的保单打法| 鑫鼎百家乐娱乐城| 皇冠网址|