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

數據庫 MySQL Linux 腳本語言 Bash 雲計算 CentOS Vi 老王談運維 2019-07-29
"

本文出自頭條號老王談運維,轉載請說明出處。

在雲計算的浪潮下,企業多將業務部署在雲上。對於數據庫中的數據,直接使用雲數據庫自帶的備份功能實現備份,操作簡單。但是雲數據庫備份數據的存儲空間有限制,一旦超出存儲量便自動關閉備份功能,運維人員往往也會忽略這個問題,如果這時遭遇系統故障,面臨的就是數據丟失。

"

本文出自頭條號老王談運維,轉載請說明出處。

在雲計算的浪潮下,企業多將業務部署在雲上。對於數據庫中的數據,直接使用雲數據庫自帶的備份功能實現備份,操作簡單。但是雲數據庫備份數據的存儲空間有限制,一旦超出存儲量便自動關閉備份功能,運維人員往往也會忽略這個問題,如果這時遭遇系統故障,面臨的就是數據丟失。

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

推薦一個運維工具——王教授,他可以幫助我們輕鬆解決這個“囧境”,不僅可以隨時瞭解雲資產的使用情況,還可及時提醒我們發現的問題並給出建議(例如:出現雲數據庫未開啟備份策略、雲數據庫備份策略發生變化等),幫助我們及時發現雲資源使用中潛在的風險。

那麼,檢測到雲數據庫未開啟備份後,我們怎麼辦呢?

  1. 增加雲數據庫的磁盤容量恢復雲數據庫自帶的策略
  2. 使用MySQL自帶的備份工具+ crontab 的方式來實現備份

下面是小編總結在Linux系統下的MySQL數據庫每天定時自動備份的配置步驟,希望對大家有幫助~

1、查看磁盤掛載信息(選一個容量合適的)

#df -h
"

本文出自頭條號老王談運維,轉載請說明出處。

在雲計算的浪潮下,企業多將業務部署在雲上。對於數據庫中的數據,直接使用雲數據庫自帶的備份功能實現備份,操作簡單。但是雲數據庫備份數據的存儲空間有限制,一旦超出存儲量便自動關閉備份功能,運維人員往往也會忽略這個問題,如果這時遭遇系統故障,面臨的就是數據丟失。

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

推薦一個運維工具——王教授,他可以幫助我們輕鬆解決這個“囧境”,不僅可以隨時瞭解雲資產的使用情況,還可及時提醒我們發現的問題並給出建議(例如:出現雲數據庫未開啟備份策略、雲數據庫備份策略發生變化等),幫助我們及時發現雲資源使用中潛在的風險。

那麼,檢測到雲數據庫未開啟備份後,我們怎麼辦呢?

  1. 增加雲數據庫的磁盤容量恢復雲數據庫自帶的策略
  2. 使用MySQL自帶的備份工具+ crontab 的方式來實現備份

下面是小編總結在Linux系統下的MySQL數據庫每天定時自動備份的配置步驟,希望對大家有幫助~

1、查看磁盤掛載信息(選一個容量合適的)

#df -h
Linux下如何實現MySQL數據庫每天定時自動備份

2、創建備份目錄

為了方便,在/home保存備份文件;

cd /home/game
mkdir backup
cd backup

3、創建備份Shell腳本

vi bkDatabaseName.sh

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

輸入/粘貼以下內容:

#!/bin/bash
mysqldump -uusername -ppassword DatabaseName > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql

對備份進行壓縮:

#!/bin/bash
mysqldump -uusername -ppassword DatabaseName | gzip > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz

注意:

  • 把username 替換為實際的用戶名
  • 把password 替換為實際的密碼
  • 把DatabaseName 替換為實際的數據庫名

4、添加可執行權限

chmod u+x bkDatabaseName.sh

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

./bkDatabaseName.sh

5、添加計劃任務

1)檢測或安裝crontab

執行以下命令看是否安裝有crontab

crontab

如果錯“command not found”,則表明沒安裝;如果沒安裝,先安裝

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

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

2)添加計劃任務

crontab -e

輸入以下內容並保存

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

意思是每天凌晨執行一次bkDatabaseName.sh 腳本

6、測試任務是否執行

執行幾次“ls”命令看下是否有文件創建就知道了。如果任務執行失敗,看以下日誌

# tail -f /var/log/cron

輸出類似如下

"

本文出自頭條號老王談運維,轉載請說明出處。

在雲計算的浪潮下,企業多將業務部署在雲上。對於數據庫中的數據,直接使用雲數據庫自帶的備份功能實現備份,操作簡單。但是雲數據庫備份數據的存儲空間有限制,一旦超出存儲量便自動關閉備份功能,運維人員往往也會忽略這個問題,如果這時遭遇系統故障,面臨的就是數據丟失。

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

推薦一個運維工具——王教授,他可以幫助我們輕鬆解決這個“囧境”,不僅可以隨時瞭解雲資產的使用情況,還可及時提醒我們發現的問題並給出建議(例如:出現雲數據庫未開啟備份策略、雲數據庫備份策略發生變化等),幫助我們及時發現雲資源使用中潛在的風險。

那麼,檢測到雲數據庫未開啟備份後,我們怎麼辦呢?

  1. 增加雲數據庫的磁盤容量恢復雲數據庫自帶的策略
  2. 使用MySQL自帶的備份工具+ crontab 的方式來實現備份

下面是小編總結在Linux系統下的MySQL數據庫每天定時自動備份的配置步驟,希望對大家有幫助~

1、查看磁盤掛載信息(選一個容量合適的)

#df -h
Linux下如何實現MySQL數據庫每天定時自動備份

2、創建備份目錄

為了方便,在/home保存備份文件;

cd /home/game
mkdir backup
cd backup

3、創建備份Shell腳本

vi bkDatabaseName.sh

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

輸入/粘貼以下內容:

#!/bin/bash
mysqldump -uusername -ppassword DatabaseName > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql

對備份進行壓縮:

#!/bin/bash
mysqldump -uusername -ppassword DatabaseName | gzip > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz

注意:

  • 把username 替換為實際的用戶名
  • 把password 替換為實際的密碼
  • 把DatabaseName 替換為實際的數據庫名

4、添加可執行權限

chmod u+x bkDatabaseName.sh

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

./bkDatabaseName.sh

5、添加計劃任務

1)檢測或安裝crontab

執行以下命令看是否安裝有crontab

crontab

如果錯“command not found”,則表明沒安裝;如果沒安裝,先安裝

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

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

2)添加計劃任務

crontab -e

輸入以下內容並保存

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

意思是每天凌晨執行一次bkDatabaseName.sh 腳本

6、測試任務是否執行

執行幾次“ls”命令看下是否有文件創建就知道了。如果任務執行失敗,看以下日誌

# tail -f /var/log/cron

輸出類似如下

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


網站崩潰找不到原因?平臺搭建無從下手?熱門技術不想落伍?想要變強找不到資料?

加入[IT拯救聯盟],讓大牛和同伴拯救你,帶你裝x帶你飛。定期乾貨分享、大牛專業解答、實用IT工具優選.....

私信小編“聯盟”,即可加入我們~

"

相關推薦

推薦中...