mysql(mariadb)データベースmysqldumpを使用してすべてのデータベースをバックアップし、現在の時間名で自動的にファイルを保存します.
すべてのデータベースのバックアップ
開発サーバはすべてのデータベースを定期的にバックアップするfox.風
–all-databasesすべてのデータベース–lock-tables=0テーブルをロックしない
すべてのデータベースのバックアップにDatabase|information_は含まれません.schema|performance_schema|mysql|testといういくつかのデータベース
ソースhttps://bbs.csdn.net/topics/390847803
指定したデータベースのバックアップ
すべてのデータベースをリストア
まずtestというライブラリが存在し、存在すると、他のデータベースが自動的に作成され、データがインポートされます.
データベースのスケジュールバックアップ
保存に成功したら、ファイルの実行権限を設定します.
タイマーの設定
に参加
開発サーバはすべてのデータベースを定期的にバックアップするfox.風
mysqldump -h127.0.0.1 --port=3306 \
-uroot -proot \
--lock-tables=0 \
--all-databases > /root/db-`date "+%Y-%m-%d-%H-%M-%S"`.sql
–all-databasesすべてのデータベース–lock-tables=0テーブルをロックしない
date "+%Y-%m-%d-%H-%M-%S"
タイムスタンプすべてのデータベースのバックアップにDatabase|information_は含まれません.schema|performance_schema|mysql|testといういくつかのデータベース
mysql -e "show databases;" -h127.0.0.1 -uroot -proot | grep -Ev "Database|information_schema|performance_schema|mysql|test" | xargs mysqldump -h127.0.0.1 -uroot -proot --databases > mysql_dump-`date "+%Y-%m-%d-%H-%M-%S"`.sql
ソースhttps://bbs.csdn.net/topics/390847803
指定したデータベースのバックアップ
mysqldump -h127.0.0.1 --port=3306 \
-uroot -proot \
--lock-tables=0 \
--databases nacos > /root/nacos-`date "+%Y-%m-%d-%H-%M-%S"`.sql
すべてのデータベースをリストア
まずtestというライブラリが存在し、存在すると、他のデータベースが自動的に作成され、データがインポートされます.
mysql -h127.0.0.1 -uroot -proot test < db-xx.sql
データベースのスケジュールバックアップ
/www/crontab/db
ディレクトリの下のback-up-db.sh
ファイルの内容は以下の通りです.#!/bin/bash
#
backupdir=/www/crontab/db/logs
#
time=_`date +%Y_%m_%d_%H_%M_%S`
mysql -e "show databases;" -h127.0.0.1 -uroot -proot | grep -Ev "Database|information_schema|performance_schema|mysql|test" | xargs mysqldump -h127.0.0.1 -uroot -proot --databases > ${backupdir}/db${time}.sql
# 7
find $backupdir -name "db*.sql" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1
echo ${time}" ok"
保存に成功したら、ファイルの実行権限を設定します.
chmod +x /www/crontab/db/back-up-db.sh
タイマーの設定
crontab -e
に参加
# 3 10
10 3 * * * /bin/bash /www/crontab/db/back-up-db.sh
#
@reboot /bin/bash /www/crontab/db/back-up-db.sh