Linuxの下でMysqlデータベースのバックアップとリカバリ
1826 ワード
この文書では、linuxの下でmysqlデータベースをバックアップおよびリカバリする方法について説明します.
データベースのバックアップは非常に重要です.定期的にバックアップを行うと、システムのクラッシュが発生したときに最後の正常な状態にデータを復元し、損失を最小限に抑えることができます.
MySQLlはmysqldumpコマンドを提供しており、データバックアップに使用できます.
プロンプトに従ってパスワードを入力すると、tmデータベースのすべてのテーブル構造とデータをtm_にバックアップします.050519.sql了,总要进行バックアップ作业,如果データ量大大会占用大空间,この时gzip利用可能圧縮データ,コマンド以下:
システムがクラッシュし、システムを再構築すると、データをリカバリできます.
圧縮ファイルから直接復元:
もちろん、phpMyAdminなど、より直感的なバックアップ・リカバリ機能を提供するMySQLツールはたくさんあります.しかし、mysqldumpは最も基本的で、最も汎用的だと思います.
システムcrontabを用いてバックアップファイルをタイミングよく実行し、バックアップ結果を日付別に保存し、バックアップの目的を達成する.
1、バックアップファイルを保存するパスを作成する/var/backup/mysqlbak
2、/usr/sbin/bakmysqlファイルの作成
3、ファイルの属性を変更して実行できるようにする
4、修正/etc/crontab
以下に追加
これで毎日/var/backup/mysqlbakの下でバックアップしたsqlファイルを見ることができます!
データベースのバックアップは非常に重要です.定期的にバックアップを行うと、システムのクラッシュが発生したときに最後の正常な状態にデータを復元し、損失を最小限に抑えることができます.
一、コマンドによるバックアップ
MySQLlはmysqldumpコマンドを提供しており、データバックアップに使用できます.
# mysqldump -u root -p tm > tm_050519.sql
プロンプトに従ってパスワードを入力すると、tmデータベースのすべてのテーブル構造とデータを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
もちろん、phpMyAdminなど、より直感的なバックアップ・リカバリ機能を提供するMySQLツールはたくさんあります.しかし、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/${i}_${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ファイルを見ることができます!