序文 バックアップは災害復旧の基礎であり、システム操作エラーやシステム障害によるデータ損失を防ぐために、アプリケーション ホストのハード ディスクまたはアレイからデータ セットの全部または一部を他のストレージ メディアにコピーするプロセスを指します。一部の Web サイトやシステムでは、データベースがすべてであるため、データベースをバックアップすることが重要です。 バックアップとは何ですか? この例では、/mnt ディレクトリにディレクトリを作成します。必要に応じて、他のディレクトリに配置することもできます。 cd /mnt mkdir dbback パスワード /mnt/dbバック シェルスクリプトの作成 スクリプト名は、独自の仕様に応じてカスタマイズできます。 vim bcmysql.sh エディターに入り、次のように入力します。 #!/bin/bash mysqldump -uユーザー名 -pパスワード デモ > /mnt/dbback/demo_$(日付 +%Y%m%d_%H%M%S).sql ファイルを圧縮する必要がある場合は、次のコマンドを入力します。 #!/bin/bash mysqldump -uユーザー名 -pパスワード デモ | gzip > /mnt/dbback/demo_$(日付 +%Y%m%d_%H%M%S).sql.gz 特定の操作では、ユーザー名、パスワード、デモをそれぞれ対応するデータベースのユーザー名、パスワード、データベース名に置き換える必要があります。 実行権限を追加する chmod u+x bcmysql.sh 実行権限を追加した後、このスクリプトを実行すると次の例外が発生する可能性があります。
この問題は MySQL バージョン 5.6 以降で発生するはずであり、データベースのセキュリティを確保するために採用された保護メカニズムである可能性があります。この例で使用されている MySQL バージョンは 5.7.22 です。警告メッセージは表示されますが、データは正常にバックアップできます。 MySQL設定ファイルを変更する 上記の問題に対応して、一部のバージョンでは正常にバックアップできない可能性があります。また、スクリプトでデータベースのパスワードを設定することは推奨されません。MySQL 構成ファイルを直接変更することができます。通常、mysql 構成ファイルは /etc/my.cnf にあります。 vim /etc/my.cnf このファイルの mysqldump に次の設定を追加します。 [mysqlダンプ] user=バックアップユーザー名 パスワード=バックアップパスワード 対応するユーザー名とパスワードを置き換え、bcmysql.sh スクリプト内のコマンドを変更してユーザー名とパスワードのパラメータをキャンセルします。MySQL を再起動せずにスクリプトを直接実行することで、バックアップ結果を確認できます。 デモ_20181114_193425.sql 質問1 vim を使用してエクスポートされた sql ファイルの内容を表示すると、中国語の文字が文字化けしていることがわかります。この問題は 2 つの状況によって発生します。1 つ目は、データベース自体の文字セットが latain1 である場合です。この場合、文字セットを指定して、実行パラメータに次のパラメータを追加する必要があります。 --default-character-set=gbk もちろん、utf8 の場合は gbk を utf8 に変更します。データベースの文字セットを表示するコマンドは次のとおりです。 '%char%' のような変数を表示します。 -- クエリ結果 character_set_client utf8 文字セット接続 utf8 文字セットデータベース utf8mb4 文字セットファイルシステムバイナリ 文字セット結果 utf8 文字セットサーバー utf8 文字セットシステム utf8 文字セットディレクトリ /usr/local/mysql/share/charsets/ 文字セットが正しく変更されているにもかかわらず文字化けした文字が表示される場合は、次のパラメータを追加してみてください。 --hex-blob テーブル構造を注意深く分析します。テーブル構造に BLOB タイプが含まれている可能性があります。このパラメータの意味は、BINARY、VARBINARY、BLOB タイプのデータを 16 進形式でエクスポートすることです。変更されたコマンドは次のとおりです。 mysqldump --default-character-set=utf8 --hex-blob デモ > /mnt/dbback/demo_$(date +%Y%m%d_%H%M%S).sql スケジュールされたタスクの追加 crontabを検出またはインストールする crontab コマンドを実行したときにコマンドが見つからないと報告された場合、コマンドがインストールされていないことを意味します。 # クローンタブ -bash: crontab: コマンドが見つかりません インストールされていない場合は、yum コマンドを使用してインストールできます。 # yum -y vixie-cron をインストールします crontab は -h または –help コマンドをサポートしていませんが、次のコマンドを使用してインストールが成功したかどうかを確認できます。 [root@iZ2zeck5vZ ~]# crontab -help crontab: 無効なオプション --h crontab: 使用エラー: 認識されないオプション 使用法: crontab [オプション] ファイル crontab [オプション] crontab -n [ホスト名] オプション: -u <ユーザー> ユーザーを定義する -e ユーザーのcrontabを編集する -l ユーザーのcrontabをリストする -r ユーザーのcrontabを削除する -i 削除前にプロンプトを表示 -n <host> ユーザーのcrontabを実行するためのクラスタ内のホストを設定します -c クラスタ内のホストを取得してユーザーのcrontabを実行する -s selinux コンテキスト -x <マスク> デバッグを有効にする デフォルトの操作は、1003.2に従って置換されます。 スケジュールされたタスクの追加 上記のコマンド パラメータを通じて、crontab を変更してコマンドを実行するコマンドを確認できます。 crontab -e crontab 編集操作ページに入り、vi や vim と同じようにその内容を編集します。次のコマンドを追加します。 */1 * * * * /mnt/dbback/bcmysql.sh このコマンド行は、bcmysql.sh を 1 分ごとに実行するために使用されます。 1 分待ってから、ls コマンドを使用してバックアップ ファイルが生成されたかどうかを確認します。ファイルは正常に生成できることがわかりました。もちろん、1 分ごとにバックアップする必要はないので、コマンドを次のように変更します。 0 1 * * * /mnt/dbback/bcmysql.sh バックアップ操作は毎日午前 1 時に実行されます。 ログビュー 実行が失敗した場合は、タスク ログを表示できます。 # テール -f /var/log/cron まとめ これまでのところ、MySQL スケジュール タスク データ バックアップ機能の簡易バージョンが Linux に実装されています。もちろん、このバージョンをベースにディレクトリ制御や履歴削除などの拡張機能も実行できます。 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
<<: MySQLを使用して列内の異なる値の数をカウントする例
>>: js を使用してネットワークカメラを呼び出し、一般的なエラーを処理します
前書き: position:sticky は CSS ポジショニングの新しい属性です。相対ポジショニ...
目次概要1. 範囲エラー2. 参照エラー3. 構文エラー4. タイプエラー5. URIエラー6. 評...
XHTML 見出しの概要Word 文書を作成するときは、「第 1 章」、「1.2.1」などのタイトル...
目次1. インストール: 2. 使用方法: 3. 組み込みメソッド: 4. 使用方法:要約する公式サ...
チュートリアルシリーズMySQL シリーズ: MySQL リレーショナル データベースの基本概念My...
オンラインチュートリアルに従って実装しました。 zabbix3.4、スクリプトとsendEmailを...
MySQL は、myisam、innodb、memory、archive、example など、多く...
Vue でカスタム パス エイリアスを設定する方法日常の開発では、モジュールやコンポーネントをインポ...
目次1. はじめに1. コンポーネントデータ2. コンポーネントページのレイアウト1. ロゴエリアの...
遅いログクエリ機能スロー ログ クエリの主な機能は、設定された時間しきい値を超える SQL ステート...
目次それを覆う栗パラメータの受け渡し値渡し共同配送要約する拡張機能 - 遅延評価私は最近、JavaS...
共通点: DIV タグと SPAN タグは、コンテンツ全体を非表示にしたり、コンテンツ全体を移動した...
序文MySQL クラスターを構築する場合、当然のことながら、データの一貫性を確保するために、データベ...
目次導入ダウンロードしてインストールする設定docker-composeをインストールする導入Doc...
Microsoft IE 5.0 がリリースされる前は、Web プログラミングにおける最大の課題は、...