Debian 7でPerconaをセットアップする

MySQLマルチマスターレプリケーションは、MySQLの優れた機能です。ただし、問題は1つだけです。標準的なマルチマスターレプリケーションは、マスタースレーブレプリケーションのようなものほど安定しているようには見えません。常に注意が必要です。そこで登場するのがPerconaです。Perconaチームは、Percona XtraDBクラスターと呼ばれる素晴らしい製品を開発しました。XtraDBは、Galeraを利用したワールドクラスのマルチマスターレプリケーションを特徴としています。それで、私たちは何を待っていますか?始めましょう。

前提条件

  • お好みのLinuxディストリビューション。このガイドでは、Debian 7を使用します。必要に応じて、別のディストリビューションを使用できます。(選択したディストリビューションで作業するために、このガイドを適合させる必要がある場合があることに注意してください
  • 同じOSを実行する2つのノード。
  • コマンドラインとSSHの基本的な知識。

入門

仮想マシンにSSHで接続します。

VM 1:

ssh [email protected]

VM 2:

ssh [email protected]
Perconaのリポジトリを追加します。

両方のノードで、次のコマンドを実行します。

echo -e "deb http://repo.percona.com/apt wheezy main\ndeb-src http://repo.percona.com/apt wheezy main" >> /etc/apt/sources.list.d/percona.list && apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A

次に、ソースを更新する必要があります。

apt-get update
Percona-XtraDB Clusterをインストールします。

インストールは簡単です:

apt-get install percona-xtradb-cluster-56

MySQLに精通している場合、この次の画面は見慣れたものに見えるはずです。画面の指示に従ってパスワードを入力してください。

最初のノードを構成します。

設定は非常に簡単です。MySQL構成ファイルに数行を追加するだけです。この例では、Nanoを使用しますが、任意のテキストエディターを使用できます。

これを使用して、両方のマシンでファイルを開きます。

nano /etc/mysql/my.cnf

下に移動してbind-address = 127.0.0.1、その前に#を追加します。(コメントアウト)bind-address行の直後に次の行を追加します。

### Galera library.

wsrep_provider=/usr/lib/libgalera_smm.so

### IP addresses of your two nodes.

wsrep_cluster_address=gcomm://xxx.xxx.xxx.xx,yyy.yyy.yyy.yyy

### This will not work unless binlog is formatted to ROW.

binlog_format=ROW

### This changes how InnoDB autoincrement locks are managed and is a requirement for Galera

innodb_autoinc_lock_mode=2
### Node #1 address (The node you are ssh`d into now.)

wsrep_node_address=xxx.xxx.xxx.xx

### SST Method

wsrep_sst_method=xtrabackup-v2

### Cluster name

wsrep_cluster_name=xtradb

### Node Name, in this case we will just call it xtradb1

wsrep_node_name=xtradb1

### Authentication, REMEMBER THIS.

wsrep_sst_auth="sstuser:yoursecretpass"

ファイルを保存して終了します(Ctrl + X)。

次に、ノードをブートストラップします。

/etc/init.d/mysql bootstrap-pxc

次に、ユーザーを作成して特権を与える必要があります。そのため、そのパスワードを覚えておく必要があります。MySQLシェル(mysql -u root -p)にログインし、次のように入力する必要があります(を含めないでくださいmysql>)。

mysql> CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 'yoursecretpass';
mysql> GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost';
mysql> FLUSH PRIVILEGES;
2番目のノードを構成します。

2番目のノードの構成は、2つの値を除いて、最初のノードと同じです。もう一度、コメントアウトしてbind-address = 127.0.0.1、その直後に以下を貼り付けます。それに応じて値を編集することを忘れないでください。

### Galera library.

wsrep_provider=/usr/lib/libgalera_smm.so

### IP addresses of your two nodes.

wsrep_cluster_address=gcomm://xxx.xxx.xxx.xx,yyy.yyy.yyy.yyy

### This will not work unless binlog is formatted to ROW.

binlog_format=ROW

### This changes how InnoDB autoincrement locks are managed and is a requirement for Galera

innodb_autoinc_lock_mode=2

### Node #2 address (The node you are ssh`d into now.)

wsrep_node_address=yyy.yyy.yyy.yyy

### SST Method

wsrep_sst_method=xtrabackup-v2

### Cluster name

wsrep_cluster_name=xtradb

### Node Name, in this case we will just call it xtradb1

wsrep_node_name=xtradb1

### Authentication, REMEMBER THIS.

wsrep_sst_auth="sstuser:yoursecretpass"

次に、と入力し/etc/init.d/mysql startます。次の出力が表示されます。

[....] Starting MySQL (Percona XtraDB Cluster) database server: mysqld . .
[....] State transfer in progress [ok]

それでおしまい!マルチマスターXtraDBクラスターが構成されました!これは、優れたパフォーマンスを備えた心配のないXtraDBクラスターです。

クラスターのテスト。

ノード1で、mysql -u root -p次にと入力しcreate database demo;ます。反対側のノードで、ルートを使用してMySQLにログインし、と入力しshow databases;ます。すべてが正しく機能していれば、反対側のノードで作成したデータベースが表示されます。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

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

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

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