CentOS 7にGraylogサーバーをインストールする方法
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
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としてログインしていることを前提としています。
セキュリティ上の理由から、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
次に、新しいユーザーの資格情報を使用して、ターミナルウィンドウからログインします。
デフォルトでは、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を使用してデータベースをバックアップできます。
引き続き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サイトを参照してください。
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
まず、ユーザーsysuser
をmysql
グループに追加する必要があります。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
再度ログインします。
XtraBackupは主にXtraBackupプログラムとinnobackupex
perlスクリプトで構成されています。通常、innobackupex
perlスクリプトを使用して、便宜上さまざまな操作手順を実行できます。
次のコマンドを入力して、最初の完全バックアップを作成します。データベースのユーザー名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
。
次のコマンドを入力して、最初の増分バックアップを作成します。コマンドの変数を適宜置き換えます。
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/
フォルダをもう一度確認して、バックアップファイルを確認します。
データベースの復元に使用する前に、すべてのデータベースバックアップファイルを準備する必要があります。
注:準備と復元の手順を実行する前に、バックアップディレクトリ全体(など/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
、最後の増分バックアップを除くすべてに対してこのオプションを使用する必要があります。それでも、最後の増分バックアップでこのオプションを使用しても、データの整合性は損なわれません。データベースのロールバックが原因で遅延が発生するだけです。
各増分シナリオの最後のコマンドはオプションですが、復元を高速化するため推奨されます。
準備が完了すると、増分バックアップファイルに記録された変更が、準備されたベースフルバックアップファイルに追加されるため、フルバックアップと増分バックアップのどちらを選択しても、準備されたフルバックアップファイルを使用してデータベースを復元する必要があります。
データベースを復元する前に、データベースサービスを停止する必要があります。
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サイトにアクセスして、復元プロセスが成功したことを確認できます。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。
FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。