ワンクリックワードプレスアプリのPercona XtraBackupによるホットバックアップ

目次

  • 前書き
  • 前提条件
  • 手順1:非ルートシステムユーザーを作成する
  • 手順2:ストレージエンジンを確認する
  • 手順3:バックアップ用のデータベースユーザーを作成する
  • ステップ4:Percona XtraBackupをインストールする
  • 手順5:バックアップストレージディレクトリを作成する
  • 手順6:最初の完全バックアップを作成する
  • 手順7:次の増分バックアップを作成する
  • 手順8:データベースを復元するためのバックアップファイルを準備する
  • 手順9:データベースを復元する
  • さらなるステップ

前書き

Percona XtraBackupは、ホットバックアップの作成に使用される無料のMySQLベースのプログラムです。また、オープンソースです。Percona XtraBackupを使用すると、データベースサービスを停止したり、読み取り専用にしたりせずに、実行中のMySQL、MariaDB、またはPercona Serverデータベースのホットバックアップを作成できます。これは、多くのオンラインビジネスにとってビジネスに不可欠な機能です。

InnoDB、XtraDB、およびHailDBストレージエンジンを使用するデータベースの場合、Percona XtraBackupは非ブロッキングバックアップを実行できます。MyISAM、Merge、Archiveストレージエンジンを使用するデータベースの場合、Percona XtraBackupは、バックアップ手順の最後に書き込みを一時停止することでバックアップを実行することもできます。

この記事では、Percona XtraBackupをインストールして使用し、ワンクリックWordPressアプリケーションに基づいてVultrサーバーで完全および増分ホットバックアップを実行する方法について説明します。フルバックアップと2つの増分バックアップを実行し、それに応じてデータベースを3つの各バックアップの状態に復元します。

前提条件

ワンクリックWordPress Vultrサーバーインスタンスを最初からデプロイし、SSHを使用してrootとしてログインしていることを前提としています。

手順1:非ルートシステムユーザーを作成する

セキュリティ上の理由から、root権限を持つ別のユーザーアカウントを作成し、それを使用してログインし、システムで日常の操作を実行することをお勧めします。このコマンドを使用すると、ほとんどすべてのスーパーユーザーコマンドを実行できますsudo

1)新しいユーザーを作成します。sysuser独自のユーザー名に置き換えます。

useradd sysuser

2)新しいユーザーのパスワードを設定します。sysuser独自のユーザー名に置き換えます。

passwd sysuser

3)新しいユーザーにroot権限を付与します。

visudo

以下の段落を見つけてください。

## Allow root to run any commands anywhere
root     ALL=(ALL)     ALL

この段落のすぐ下に行を追加sysuserし、独自のユーザー名に置き換えます。

sysuser     ALL=(ALL)     ALL

保存して終了します。

:wq

4)新しいユーザーアカウントに切り替えます。

logout

次に、新しいユーザーの資格情報を使用して、ターミナルウィンドウからログインします。

手順2:ストレージエンジンを確認する

デフォルトでは、MySQLルートログインはVPSに保存され/root/.my.cnfます。次のコマンドを使用して、端末にパスワードを表示します。

sudo cat /root/.my.cnf

画面に表示された認証情報を使用して、MySQLコンソールにログインします。

mysql -u root -p

MySQLシェルで、次を実行します。

SHOW DATABASES;

すべてのMySQLデータベースが画面に表示されます。likeという名前のデータベースwp5273512は、バックアップするWordPressデータベースです。次のコマンドで、wp5273512独自のコマンドに置き換えます。

USE wp5273512;

各テーブルのストレージエンジンを確認します。

SHOW TABLE STATUS\G

WordPress MySQLデータベースのすべてのテーブルがInnoDBストレージエンジンを使用していることがわかります。これは、Percona XtraBackupでホットバックアップを実行するのに最適です。

MyISAMストレージエンジンを使用する他のMySQLデータベースの場合、書き込みを一時停止することにより、Percona XtraBackupを使用してデータベースをバックアップできます。

手順3:バックアップ用のデータベースユーザーを作成する

引き続きMySQLシェルで、次のコマンドを使用して、バックアップ専用のデータベースユーザーを作成します。データベースのユーザー名xbuserとパスワードxbpasswdを独自のものに置き換えてください:

CREATE USER 'xbuser'@'localhost' IDENTIFIED BY 'xbpasswd';
GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT, CREATE TABLESPACE, PROCESS, SUPER, CREATE, INSERT, SELECT ON *.* TO 'xbuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

上記の権限は、Percona XtraBackupのすべての機能を使用するために必要です。機能を減らしてセキュリティを向上させるために、一部を削除できます。詳細については、Percona XtraBackup 公式Webサイトを参照してください。

ステップ4:Percona XtraBackupをインストールする

PerconaのRPMリポジトリからPercona XtraBackupを非常に簡単にインストールできます。

sudo yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
sudo yum install -y percona-xtrabackup

手順5:バックアップストレージディレクトリを作成する

まず、ユーザーsysusermysqlグループに追加する必要があります。sysuser独自のユーザー名に置き換えます。

sudo gpasswd -a sysuser mysql

完全バックアップを保存するディレクトリを作成します。

sudo mkdir -p /dbbackup/full/

増分バックアップを保存する別のディレクトリを作成します。

sudo mkdir -p /dbbackup/inc/

これらのディレクトリの所有者をuser sysuserおよびgroupに変更しますsysuser

sudo chown -R sysuser:sysuser /dbbackup

ログアウトしてこれらの変更を有効にします。

logout

その後、sysuser再度ログインします。

手順6:最初の完全バックアップを作成する

XtraBackupは主にXtraBackupプログラムとinnobackupexperlスクリプトで構成されています。通常、innobackupexperlスクリプトを使用して、便宜上さまざまな操作手順を実行できます。

次のコマンドを入力して、最初の完全バックアップを作成します。データベースのユーザー名xbuser、データベースのユーザーパスワードxbpasswd、および完全バックアップディレクトリ/dbbackup/full/を独自のものに置き換えることを忘れないでください。

sudo innobackupex --user=xbuser  --password=xbpasswd /dbbackup/full/

このコマンドが正しく実行されると、「innobackupex:completed OK!」という確認メッセージが表示されます。出力の最終行。

この完全バックアップの新しく作成されたファイルはすべて、の下のタイムスタンプ付きディレクトリに保存され/dbbackup/full/ます。たとえば、/dbbackup/full/2015-05-22_05-45-54

手順7:次の増分バックアップを作成する

次のコマンドを入力して、最初の増分バックアップを作成します。コマンドの変数を適宜置き換えます。

sudo innobackupex --user=xbuser  --password=xbpasswd --incremental --incremental-basedir=/dbbackup/full/2015-05-22_05-45-54 /dbbackup/inc/

再び、「innobackupex:完了OK!」が表示されます。コマンドが正常に実行されたときの出力の最後。バックアップファイルは、の下のタイムスタンプ付きディレクトリに保存されます/dbbackup/inc/

次のコマンドを入力して、2番目の増分バックアップを作成します。コマンドの変数を適宜置き換えます。

sudo innobackupex --user=xbuser  --password=xbpasswd --incremental --incremental-basedir=/dbbackup/inc/2015-05-22_05-48-12 /dbbackup/inc/

成功すると、「innobackupex:完了OK!」が表示されます。再びメッセージ。/dbbackup/inc/フォルダをもう一度確認して、バックアップファイルを確認します。

手順8:データベースを復元するためのバックアップファイルを準備する

データベースの復元に使用する前に、すべてのデータベースバックアップファイルを準備する必要があります。

:準備と復元の手順を実行する前に、バックアップディレクトリ全体(など/dbbackup/)のコピーを別の場所に保存して、ファイルのバックアップに何らかの損傷があった場合に備えておくとよいでしょう。

各バックアップディレクトリにxtrabackup_checkpointsは、バックアップタイプと開始および終了ログシーケンス番号(from_lsnおよびto_lsn)を含むという名前のファイルがあります。これらの数値を使用して、データベースの復元戦略を明確にすることができます。以下の例を見てください。

xtrabackup_checkpoints最初のフルバックアップのファイル、私が持っています:

backup_type = full-backuped
from_lsn = 0
to_lsn = 2932478

ではxtrabackup_checkpoints最初の増分バックアップのファイル、私が持っています:

backup_type =incremental
from_lsn = 2932478
to_lsn = 2970177

ではxtrabackup_checkpoints第二の増分バックアップのファイル、私が持っています:

backup_type = incremental
from_lsn = 2970177
to_lsn = 3004672

簡単に言うと、lsnの昇順で各バックアップに取り組む必要があります。lsnシーケンスが不完全または無秩序である場合、データを失う可能性があります。

:次のコマンドには3つのディレクトリが含まれているため、独自のディレクトリに置き換えてください。

データベースを最初の完全バックアップの状態に復元するには、次のコマンドでバックアップファイルを準備する必要があります。

sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

データベースを最初の増分バックアップの状態に復元するには、次のコマンドを使用してバックアップファイルを準備する必要があります。

sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-48-12
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

データベースを2番目の増分バックアップの状態に復元するには、次のコマンドを使用してバックアップファイルを準備する必要があります。

sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54
sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-48-12
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-51-32
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

増分バックアップの場合は--redo-only、最後の増分バックアップを除くすべてに対してこのオプションを使用する必要があります。それでも、最後の増分バックアップでこのオプションを使用しても、データの整合性は損なわれません。データベースのロールバックが原因で遅延が発生するだけです。

各増分シナリオの最後のコマンドはオプションですが、復元を高速化するため推奨されます。

準備が完了すると、増分バックアップファイルに記録された変更が、準備されたベースフルバックアップファイルに追加されるため、フルバックアップと増分バックアップのどちらを選択しても、準備されたフルバックアップファイルを使用してデータベースを復元する必要があります。

手順9:データベースを復元する

データベースを復元する前に、データベースサービスを停止する必要があります。

sudo service mysqld stop

また、データベースディレクトリを空にする必要があります。予防のため、現在のデータベースファイルを別の場所に移動できます。

sudo mkdir /currentdb
sudo mv /var/lib/mysql/* /currentdb

準備した「完全バックアップ」ファイルを使用してデータベースを復元します。

sudo innobackupex --copy-back /dbbackup/full/2015-05-22_05-45-54

復元手順によりデータベースディレクトリの所有者が変更されるため、操作可能に戻すには、に戻す必要がありますmysql:mysql

sudo chown -R mysql:mysql /var/lib/mysql

データベースサービスを再起動します。

sudo service mysqld start

それでおしまい。この時点で、WordPressサイトにアクセスして、復元プロセスが成功したことを確認できます。



Leave a Comment

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、