LINUX下如何直接對MYSQL數據庫進行備份

用命令實現備份 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是最基本、最通用的。

2、利用crontab,系統天天定時備份mysql數據庫

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

一、建立保存備份文件的路徑/var/backup/mysqlbak

# mkdir -p /var/backup/mysqlbak
二、建立/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/${i}_${dateDIR}.gz
done
三、修改文件屬性,使其可執行

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

# crontab -e
在下面添加
01 3 * * * root /usr/sbin/bakmysql
#表示天天3點鐘執行備份

這樣天天就能夠在/var/backup/mysqlbak下看到備份的sql文件 了!
相關文章
相關標籤/搜索