Mysql下的資料庫備份

2021-07-08 21:18:49 字數 1456 閱讀 5126

資料庫備份是非常重要的。如果定期做好備份,這樣就可以在發生系統崩潰時恢復資料到最後一次正常的狀態,把損失減小到最少。

一、 用命令實現備份

mysqll提供了乙個mysqldump命令,我們可以用它進行資料備份。

按提示輸入密碼,這就把tm資料庫所有的表結構和# mysqldump -u root -p tm > tm_050519.sql資料備份到tm_050519.sql了,因為要總進行備份工作,如果資料量大會占用很大空間,這時可以利用gzip壓縮資料,命令如下:

# mysqldump -u root -p tm | gzip > tm_050519.sql.gz
系統崩潰,重建系統時,可以這樣恢復資料:

# mysqldump -u root -p tm < tm_050519.sql
從壓縮檔案直接恢復:

#gzip < tm_050519.sql.gz | mysqldump -u root -p tm
當然,有很多mysql工具提供更直觀的備份恢復功能,比如用phpmyadmin就很方便。但我認為,mysqldump是最基本、最通用的。

二、利用crontab,系統每天定時備份mysql資料庫

利用系統crontab來定時執行備份檔案,按日期對備份結果進行儲存,達到備份的目的。

1、建立儲存備份檔案的路徑/var/backup/mysqlbak

# mkdir -p /var/backup/mysqlbak
2、建立/usr/sbin/bakmysql檔案

#vi /usr/sbin/bakmysql.sh

#!/bin/bash

# mysql備份指令碼

cd /var/backup/mysqlbak/

datedir=`date +"%y-%m-%d"`

mkdir -p $datedir/data

for i in `/usr/local/www/mysql/bin/mysql -uroot -plin31415926 -e "show databases"  |

grep -v "database" | grep -v "information_schema"`

do  /usr/local/www/mysql/bin/mysqldump -uroot -plin31415926 $i   |

gzip  > /var/backup/mysqlbak/$datedir/$_$.gz

done

3、修改檔案屬性,使其可執行

# chmod +x /usr/sbin/bakmysql
4、修改/etc/crontab

# crontab -e

在下面新增

01 3 * * * root /usr/sbin/bakmysql

#表示每天3點鐘執行備份

這樣每天就可以在/var/backup/mysqlbak下看到備份的sql檔案 了!

Linux下Mysql資料庫備份

1 備份 可直接進入後台即可.mysql的預設目錄 var lib mysql 輸入命令 root obj mysql mysqldump u 資料庫使用者名稱 p test home bak 2015 09 10 test.sql enter password 密碼 此時,已成功將資料庫test備...

Linux下MySQL資料庫備份

linux下mysql資料庫有邏輯備份和物理備份,也可以分為完全備份 部分備份。完全備份是指備份整個資料集 即整個資料庫 部分備份是指備份部分資料集 只備份乙個表 邏輯備份最大優點是對於各種儲存引擎,都可以使用同樣的方法來備份。而物理備份則不同,不同的儲存引擎有著不同的備份方法。以下備份檔案名,可以...

Linux下mysql資料庫備份

本文基於centos 64位 autobackupmysql.sh filename date y m d usr local mysql bin mysqldump uroot ppass databasename usr db backup filename.sql crontab l 顯示當前...