首頁 資料庫 mysql教程 Linux下实现MySQL数据库每天自动备份定时备份

Linux下实现MySQL数据库每天自动备份定时备份

Jun 07, 2016 pm 02:58 PM
mysql備份

备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其

概述
备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。而对于一些网站、系统来说,,数据库就是一切,所以做好数据库的备份是至关重要的!

备份是什么?

Linux下实现MySQL数据库每天自动备份定时备份

为什么要备份

Linux下实现MySQL数据库每天自动备份定时备份

容灾方案建设

Linux下实现MySQL数据库每天自动备份定时备份

存储介质
光盘
磁带
硬盘
磁盘阵列
DAS:直接附加存储
NAS:网络附加存储
SAN:存储区域网络
云存储

这里主要以本地磁盘为存储介质讲一下计划任务的添加使用,基本的备份脚本,其它存储介质只是介质的访问方式可能不大一样。

1、查看磁盘空间情况:
既然是定时备份,就要选择一个空间充足的磁盘空间,避免出现因空间不足导致备份失败,数据丢失的恶果!
存储到当前磁盘这是最简单,却是最不推荐的;服务器有多块硬盘,最好是把备份存放到另一块硬盘上;有条件就选择更好更安全的存储介质;

# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root  50G  46G  1.6G  97% /
tmpfs                        1.9G  92K  1.9G  1% /dev/shm
/dev/sda1                    485M  39M  421M  9% /boot
/dev/mapper/VolGroup-lv_home  534G  3.6G  503G  1% /home

2、创建备份目录:
上面我们使用命令看出/home下空间比较充足,所以可以考虑在/home保存备份文件;

cd /home
mkdir backup
cd backup

3、创建备份Shell脚本:
注意把以下命令中的DatabaseName换为实际的数据库名称;
当然,你也可以使用其实的命名规则!

vi bkDatabaseName.sh

输入/粘贴以下内容:

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

对备份进行压缩:

#!/bin/bash
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 found1
如时没有安装 crontab,需要先安装它,具体步骤请参考:
CentOS下使用yum命令安装计划任务程序crontab
使用rpm命令从CentOS系统盘安装计划任务程序crontab

添加计划任务
执行命令:

crontab -e

这时就像使用vi编辑器一样,可以对计划任务进行编辑。
输入以下内容并保存:

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

具体是什么意思呢?
意思是每一分钟执行一次shell脚本“/home/backup/bkDatabaseName.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)

本文永久更新链接地址

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1655
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1226
24
mysql安裝後如何進行數據庫備份與恢復 mysql安裝後如何進行數據庫備份與恢復 Apr 08, 2025 am 11:45 AM

MySQL數據庫備份恢復方案沒有絕對最佳,需根據數據量、業務重要性、RTO和RPO選擇。 1.邏輯備份(mysqldump)簡單易用,適合小型數據庫,但速度慢,文件巨大;2.物理備份(xtrabackup)速度快,適合大型數據庫,但使用較複雜。備份策略需考慮備份頻率(RPO決定)、備份方法(數據量、時間要求決定)和存儲位置(異地存儲更安全),並定期測試備份和恢復流程,避免備份文件損壞、權限問題、存儲空間不足、網絡中斷和未測試等問題,確保數據安全。

如何使用MySQL的資料備份和復原工具實現災備 如何使用MySQL的資料備份和復原工具實現災備 Aug 02, 2023 am 09:06 AM

如何使用MySQL的資料備份和復原工具實現災備在資料庫管理過程中,資料備份和復原是非常重要的一環。透過備份資料可以保護資料庫免受意外損壞、硬體故障或其他災難性事件的影響。 MySQL作為一個流行的關聯式資料庫管理系統,提供了一些強大的工具來實現資料備份和復原。本文將介紹如何使用MySQL的資料備份和復原工具來實現災備。 MySQL的資料備份工具-mysql

MySql的多種備份方案:如何有效率地建立和還原MySQL備份 MySql的多種備份方案:如何有效率地建立和還原MySQL備份 Jun 15, 2023 pm 03:28 PM

MySql是一種常用的關係型資料庫管理系統,被廣泛應用於各種業務和應用場景。對於MySQL的備份問題,備份方案的選擇和執行方法至關重要。在本文中,我們將介紹多種備份方案,以及如何有效率地建立和還原MySQL備份。一、備份方案的選擇在選擇MySQL備份方案的過程中,應該依照業務場景、實際狀況,選擇適合自己的備份方案。冷備份所謂的冷備份,就是在MySQL資料庫完

如何有效管理和維護MySQL資料庫中的ibd文件 如何有效管理和維護MySQL資料庫中的ibd文件 Mar 16, 2024 am 11:21 AM

在MySQL資料庫中,每個InnoDB表都對應著一個.ibd文件,這個文件儲存了表的資料和索引。因此,對於MySQL資料庫的管理與維護,ibd檔案的管理也顯得格外重要。本文將介紹如何有效管理和維護MySQL資料庫中的ibd文件,並提供具體的程式碼範例。 1.檢查與最佳化表空間首先,我們可以使用下列SQL語句來檢查表的磁碟空間使用:SELECTTAB

MySql的資料庫備份:如何實現高效率的MySQL資料庫備份與還原 MySql的資料庫備份:如何實現高效率的MySQL資料庫備份與還原 Jun 15, 2023 pm 11:37 PM

MySQL是目前使用最廣泛的關聯式資料庫管理系統之一,它的高效性和可靠性使得它成為了眾多企業和開發者的首選。但是由於各種原因,我們需要對MySQL資料庫進行備份。備份MySQL資料庫並不是一項容易的任務,因為一旦備份失敗,可能會導致重要資料的遺失。因此,為了確保資料的完整性和可恢復性,必須採取一些措施來實現高效的MySQL資料庫備份和復原。本文將介紹如何實現

MySQL實作資料的滾動備份技巧 MySQL實作資料的滾動備份技巧 Jun 15, 2023 pm 07:47 PM

MySQL是一種流行的關聯式資料庫,廣泛應用於各個領域。然而,與其它應用程式一樣,MySQL存在風險,如資料損壞、崩潰和不良攻擊等。因此,備份資料至關重要。備份可以為資料提供安全性和某種形式的「撤銷」功能,減少甚至消除不穩定性和風險。最常見的備份類型是完全備份和增量備份。但是,如果您需要頻繁的、即時的備份,那麼滾動備份就是一種更好的方法。滾動備份是指在可接受

MySQL備份與復原全面指南 MySQL備份與復原全面指南 Jun 15, 2023 am 09:48 AM

MySQL是目前最受歡迎的關聯式資料庫管理系統之一,在企業級應用中被廣泛使用。無論是開發者還是資料管理員,都需要了解MySQL備份與復原的基本知識。備份和復原不僅能夠幫助企業保護數據,還能夠使系統在不良情況下快速應對,盡可能使其恢復到正常運作狀態。本文將詳細介紹MySQL備份與復原的操作步驟,並提供一些最佳實踐,以協助讀者在保護其MySQL資料庫方面走得更遠。

MySQL資料庫備份與災備方案的專案經驗總結 MySQL資料庫備份與災備方案的專案經驗總結 Nov 02, 2023 pm 03:54 PM

MySQL資料庫備份與災備方案的專案經驗總結在專案中,資料庫的備份與災備方案是非常重要的工作內容。 MySQL作為一種常用的關聯式資料庫管理系統,其備份和災備方案的製定和實施是確保資料安全性和可用性的關鍵。在過去的專案實施中,我累積了一些經驗,並在此總結如下。一、備份策略的製定制定合理的備份策略對於資料庫的安全性至關重要。一般來說,備份策略需要考慮以下幾個

See all articles