1. MySQLデータのバックアップ1.1、データをバックアップするためのmysqldumpコマンドMySQL には、コマンドラインからデータベースのデータとファイルをエクスポートするための便利なツール mysqldump が用意されています。コマンドラインからデータベースの内容を直接エクスポートしてダンプすることができます。まず、mysqldump コマンドの使い方を簡単に見てみましょう。 #MySQLdump よく使われる mysqldump -u root -p --databases database 1 database 2 > xxx.sql 1.2、mysqldumpの一般的な操作例1. すべてのデータベースのデータと構造をバックアップする mysqldump -uroot -p123456 -A > /data/mysqlDump/mydb.sql 2. データベース全体の構造をバックアップする(-dパラメータを追加) mysqldump -uroot -p123456 -A -d > /data/mysqlDump/mydb.sql 3. すべてのデータベースデータをバックアップする(-tパラメータを追加) mysqldump -uroot -p123456 -A -t > /data/mysqlDump/mydb.sql 4. 単一のデータベース(データベース名mydb)のデータと構造をバックアップします。 mysqldump -uroot-p123456 mydb > /data/mysqlDump/mydb.sql 5. 単一データベースの構造をバックアップする mysqldump -uroot -p123456 mydb -d > /data/mysqlDump/mydb.sql 6. 単一データベースのデータをバックアップする mysqldump -uroot -p123456 mydb -t > /data/mysqlDump/mydb.sql 7. 複数のテーブルのデータと構造をバックアップします(データと構造を個別にバックアップする方法は上記と同じです) mysqldump -uroot -p123456 mydb t1 t2 > /data/mysqlDump/mydb.sql 8. 複数のデータベースを一度にバックアップする mysqldump -uroot -p123456 --databases db1 db2 > /data/mysqlDump/mydb.sql 1.3. MySQLバックアップコンテンツの復元復元には 2 つの方法があります。1 つ目は MySQL コマンドラインで復元する方法、2 つ目は SHELL 行を使用して復元を完了する方法です。 1. システム コマンド ラインで、次のように入力して復元します。 mysql -uroot -p123456 < /data/mysqlDump/mydb.sql 2. MySQL システムにログインした後、source コマンドを使用して対応するシステム内のファイルを見つけて復元します。 mysql> ソース /data/mysqlDump/mydb.sql 2. バックアップデータベースファイルを維持するためのスクリプトを作成するLinux では、通常、実行する必要があるコンテンツを記述するために BASH スクリプトが使用され、crontab コマンドを使用してスケジュールされた時間にコマンドを実行し、自動ログ生成を実現します。 次のコード関数は、MySQL をバックアップし、crontab と組み合わせて、過去 1 か月 (31 日間) の毎日の MySQL データベース レコードをバックアップします。 2.1. バックアップファイルの数を固定するためにBASHを書くLinuxでは、viまたはvimを使用してスクリプトの内容を記述し、mysql_dump_script.shという名前を付けます。 #!/bin/bash #バックアップ数を保存し、31日分のデータをバックアップします。数=31 #バックアップ保存パスbackup_dir=/root/mysqlbackup #日付 dd=`日付 +%Y-%m-%d-%H-%M-%S` #バックアップツール tool=mysqldump #ユーザー名 username=root # パスワード password = TankB214 #バックアップするデータベース database_name=edoctor # フォルダーが存在しない場合は作成します if [ ! -d $backup_dir ]; それから mkdir -p $backup_dir; フィ # 書き方の簡単な方法は、mysqldump -u root -p123456 users > /root/mysqlbackup/users-$filename.sql です。 $tool -u $ユーザー名 -p$パスワード $データベース名 > $backup_dir/$データベース名-$dd.sql # バックアップ ログを作成するために書き込みます echo "create $backup_dir/$database_name-$dd.dupm" >> $backup_dir/log.txt #削除する必要があるバックアップを検索します delfile=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | head -1` #現在のバックアップ数が$numberより大きいかどうかを判断します count=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | wc -l` [ $count -gt $number ]の場合 それから #最も古いバックアップを削除し、バックアップの数だけ残す rm $delfile # 削除ファイルログを書き込みます echo "delete $delfile" >> $backup_dir/log.txt フィ 上記コードの主な意味は次のとおりです。 1. まず、バックアップする最大番号、バックアップパス、ユーザー名、パスワードなどのさまざまなパラメータを設定します。 2. mysqldump コマンドを実行してバックアップ ファイルを保存し、同じディレクトリの log.txt に操作を出力して操作ログをマークします。 3. 削除するファイルを定義します。lsコマンドを使用して、ファイル名の列である9番目の列を取得し、 頭 -1 最新の操作時刻を持つファイルは実装によって定義されており、削除する必要があります。 4. バックアップの数を定義する: lsコマンドを追加する トイレ -l sql で終わるファイル内の行数をカウントします。 5. ファイルが制限を超えた場合は、最初に作成されたSQLファイルを削除します。 2.2. crontabを使用して定期的にバックアップスクリプトを実行するLINUX では、定期的なタスクは通常、cron デーモン プロセス [ps -ef | grep cron] によって処理されます。 Cron は、コマンド ラインとそれが呼び出される時刻を含む 1 つ以上の構成ファイルを読み取ります。 1. CronサービスCron は、人間の介入なしにジョブを実行できる、Linux 上のスケジュール実行ツールです。 service crond start //サービスを開始します service crond stop //サービスを終了します service crond restart //サービスを再起動 service crond reload //設定を再読み込みします service crond status //サービスの状態を確認します 2. Crontab 構文crontab コマンドは、cron デーモンを駆動するために使用されるテーブルをインストール、削除、または一覧表示するために使用されます。ユーザーは、実行するコマンド シーケンスを crontab ファイルに記述して、コマンドを実行します。各ユーザーは独自の crontab ファイルを持つことができます。 /var/spool/cron 内の crontab ファイルを直接作成または変更することはできません。 crontab ファイルは crontab コマンドによって作成されます。
3. cronスクリプトを作成するステップ 1: cron スクリプト ファイルを作成し、mysqlRollBack.cron という名前を付けます。 注: この操作は、新しいcrontabを追加するのではなく、ユーザーのcrontabを直接置き換えます。 スケジュールされたタスク スクリプトを定期的に実行します (最初にシェル スクリプトの実行権限を与えることを忘れないでください) 0 2 * * * /root/mysql_backup_script.sh 次に、crontabコマンドを使用して、定期的にスケジュールされたスクリプトを作成します。 crontab mysqlRollback.cron 次に、次のコマンドを使用して、スケジュールされたタスクが作成されたかどうかを確認します。 crontab -l crontab の使用例を添付します。 1. 毎日午前6時 0 6 * * * echo "おはようございます。" >> /tmp/test.txt //注意: echo だけでは、cron がすべての出力を root のメールボックスに電子メールで送信するため、画面に出力が表示されません。 2. 2時間ごと 0 */2 * * * echo "ちょっと休憩しましょう。" >> /tmp/test.txt 3. 午後11時から午前8時まで2時間ごとと午前8時 0 23-7/2,8 * * * echo "良い夢を" >> /tmp/test.txt 4. 毎月4日と毎週月曜日から水曜日の午前11時 0 11 4 * 1-3 コマンドライン 5. 1月1日午前4時 0 4 1 1 * コマンドライン SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //エラーが発生したりデータが出力された場合、データはこのアカウントに電子メールとして送信されます HOME=/ 6. /etc/cron.hourlyのスクリプトを1時間ごとに実行する 01 * * * * ルート実行部分 /etc/cron.hourly 7. /etc/cron.dailyのスクリプトを毎日実行する 02 4 * * * ルート実行部分 /etc/cron.daily 8. /etc/cron.weeklyのスクリプトを毎週実行する 22 4 * * 0 ルート実行部分 /etc/cron.weekly 9. /etc/cron.monthlyのスクリプトを毎月実行する 42 4 1 * * ルート実行部分 /etc/cron.monthly 注: 「run-parts」パラメータ。このパラメータを削除すると、フォルダ名の代わりに実行するスクリプトの名前を書き込むことができます。 10. 毎日午後 4 時、5 時、6 時の 5 分、15 分、25 分、35 分、45 分、55 分にコマンドを実行します。 5、15、25、35、45、55、16、17、18 * * * コマンド 11. システムは毎週月曜日、水曜日、金曜日の午後 3 時にメンテナンス モードに入り、再起動します。 00 15 * * 1,3,5 シャットダウン -r +5 12. 毎時 10 分と 40 分に、ユーザー ディレクトリで innd/bbslin コマンドを実行します。 10,40 * * * * innd/bbslink 13. 毎時 1 分ごとにユーザー ディレクトリで bin/account コマンドを実行します。 1 * * * * ビン/アカウント 3. 実行効果のスクリーンショット以下は 1 分ごとのテストのスクリーンショットです。対応するコードは次のとおりです。 * * * * * /root/mysql_backup_script.sh エフェクトのスクリーンショット: log.txt ファイルには、バックアップ操作の詳細なログが記録されます。 この記事の参考文献:1. MySQLdump の一般的なコマンド: https://www.cnblogs.com/smail-bao/p/6402265.html (Blog Park) 2. シェル スクリプトを使用して MySQL データベースをバックアップする: https://www.cnblogs.com/mracale/p/7251292.html (Blog Park) 3. Linux での Crontab スケジュール実行タスク コマンドの詳細な説明: https://www.cnblogs.com/longjshz/p/5779215.html (Blog Park) これで、MySQL データベースのスケジュール バックアップ (フル データベース バックアップ) の実装に関するこの記事は終了です。MySQL のスケジュール バックアップに関する関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: VMware は Centos7 システムの PXE+kickstart 無人インストールの詳細なプロセスを実装します
プロジェクトドキュメントディレクトリDiv+CSS 命名規則 - 4 - Div+css 命名規則 ...
1. 問題Docker コンテナのログにより、ホストのディスク領域がいっぱいになりました。 doc...
序文:この記事では主にMySQLのロングトランザクションに関する内容を紹介します。例えば、トランザク...
導入コンピューティングのニーズが拡大し続けるにつれて、アプリケーションのメモリに対する需要も増加して...
まず興味深い性質であるconic-gradientを紹介しましょう。円錐グラデーション!円グラフの作...
前提条件gitをインストールする必要があるインストール手順1. リモートリポジトリからpyenvをク...
ウェブ上で証明書とキーをコピーするscp -rp -P52113 /application/ngin...
問題を解決するBootstrap は、次の問題を解決する CSS フレームワークです。デバイス間での...
ソングティ: SimSun太字: SimHeiマイクロソフト YaHei: マイクロソフト YaHe...
システム環境: Win10 64ビットMySQL バージョン: mysql-5.7.18-winX6...
VMware Toolsをインストールすると、仮想マシンホスト間で①テキストをコピーして貼り付けるこ...
この記事では、ウィンドウ表示効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...
Ubuntu仮想マシンでのシリアル通信にcutecomを使用する1. cutecomをインストールす...
この記事は議論の出発点となることを目的としています。詳細なドキュメントと easycom の仕様につ...
目次1. 再帰とは何ですか? 2. 再帰を使って数学の問題を解く1. 1 * 2 * 3 * 4 …...