sql >> データベース >  >> RDS >> Mysql

cronジョブを使用してMySQLデータベースをバックアップする方法

    この記事では、MySQLデータベースを特定の間隔でファイルに自動的にバックアップするcronジョブを設定する方法について説明します。

    cronジョブを使用した自動データベースバックアップ

    MySQLデータベースをバックアップするcronジョブを実行する方法は2つあります。 MySQLログイン情報をcronjobコマンド自体に含めるか、構成ファイルを使用してMySQLログイン情報を保存することができます。

    メソッド#1:MySQLログイン情報をcronジョブコマンドに含める

    次のコマンドを実行するcronジョブを作成することにより、MySQLデータベースのスケジュールバックアップを実行できます。

    /usr/bin/mysqldump --routines -u dbusername -p'dbpassword' dbname > ${HOME}/path/backup.sql

    dbusernameをデータベースユーザーに、dbpasswordをデータベースユーザーのパスワードに、dbnameをバックアップするデータベースに、pathをバックアップファイルを保存するパスに置き換えます。この例では、 backup.sqlを使用しています バックアップのファイル名に使用できますが、任意のファイル名を使用できます。

    • パスワードを一重引用符(')で囲むと、特殊文字が正しく処理されます。
    • コマンドが正常に実行されると、出力は生成されません。ただし、エラーまたは構成の誤りがある場合、アカウントの構成によっては、コマンド出力を含む電子メールメッセージを受信する場合があります。コマンドが失敗したときに電子メールメッセージを抑制するには、cronジョブコマンドの最後に次のテキストを追加します:
      2>/dev/null

      ただし、ほとんどの人は、cronジョブが失敗したときに通知を受け取りたいと考えています。

    cPanelを使用してcronジョブを作成する方法については、こちらの記事をご覧ください。

    方法#2:構成ファイルを使用してMySQLログイン情報を保存する

    または、MySQLログイン情報を格納する構成ファイルをホームディレクトリに作成することもできます。この方法を使用すると、cronジョブコマンドにログイン情報を含める必要はありません。これを行うには、次の手順に従います。

    1. .my.cnfという名前のファイルを作成します / home /で ユーザー名ディレクトリ。ユーザー名をアカウントのユーザー名に置き換えます。先頭にが含まれていることを確認してください。 ファイル名に。
    2. 次のテキストをコピーして.my.cnfに貼り付けます ファイル。 dbusernameをデータベースユーザーに置き換え、dbpasswordをデータベースユーザーのパスワードに置き換えます。
      [client]
      user = dbusername
      password = "dbpassword"
      host = localhost
    3. 次のコマンドを実行するcronジョブを作成します。 dbnameをバックアップするデータベースの名前に置き換え、pathをバックアップファイルを保存するパスに置き換えます。この例では、 backup.sqlを使用しています バックアップのファイル名に使用できますが、任意のファイル名を使用できます。

      mysqldump --routines dbname > /path/backup.sql

      コマンドが正常に実行されると、出力は生成されません。ただし、エラーや構成の誤りがある場合は、アカウントの構成によっては、コマンド出力を含む電子メールメッセージを受信する場合があります。コマンドが失敗したときに電子メールメッセージを抑制するには、cronジョブコマンドの最後に次のテキストを追加します。

      2>/dev/null

      ただし、ほとんどの人は、cronジョブが失敗したときに通知を受け取りたいと考えています。

      cPanelを使用してcronジョブを作成する方法については、こちらの記事をご覧ください。

    詳細情報

    mysqldumpの詳細については プログラムについては、http://dev.mysql.com/doc/refman/5.1/en/mysqldump.htmlにアクセスしてください。


    1. MariaDBでのCONVERT()のしくみ

    2. 外部キー制約で使用される列を変更できません

    3. JSONフィールドへの更新はDBに保持されません

    4. クエリプランのビットマップヒープスキャンとは何ですか?