このチュートリアルでは、CentOS7サーバーにPerconaXtraDBクラスターをインストールして構成する方法を説明します。 MySQLおよびPerconaサーバーと完全に互換性のあるPerconaXtraDBCluster5.6を使用します。
Perconaは、2006年に設立されたMySQLおよびMongoDBデータベースの専門家の会社です。Perconaは、MySQLおよびMongoDBのオープンソースソフトウェアを構築および保守しています。クラスタ)、MongoDB用のPercona Server、およびPerconaツールキット、Percona監視ツール、PerconaXtraBackupなどのデータベースを管理するための他のツール。
前提条件
- 3つのCentOS7サーバーノード。
- root権限。
- CentOS7の基本的な知識。
最初に行うことは、すべてのサーバーのホスト名を構成することです。以下に示すように、CentOS7を搭載したサーバーが3台あります。
ノードサーバーIPホスト名
Node1-192.168.43.36 percona1
Node2-192.168.43.166 percona2
Node3-192.168.43.148 percona端末を使用してすべてのサーバーに接続します:
ssh[メール保護]すべてのサーバーにログインしている場合は、vimを使用して各サーバーの「/ etc/hosts」ファイルを編集します。
vim / etc / hosts以下にホスト構成を貼り付けます:
192.168.43.36 percona1
192.168.43.166 percona2
192.168.43.148 percona3IPアドレスをローカルネットワーク構成に一致するものに置き換えます。保存して終了します。
ステップ2-Firewalldを設定する Firewalldは、CentOS 7の新しいデフォルトのファイアウォールインターフェースです。firewall-cmdコマンドは、ファイアウォールを構成するために使用されます。特定のグループまたはゾーンを定義して構成することも、ssh、MySQLデータベース、nginx /ApacheWebサーバーなどのサービス用にファイアウォールを構成することもできます。
このステップでは、ファイアウォール構成にfirewalldを使用します。 'firewall-cmd'コマンドを使用して、perconaサーバーポートとクラスターに必要なその他のポートを開きます。
次のsystemctlコマンドでfirewalldを起動します:
systemctl start Firewalld次に、以下のコマンドを実行して、MySQL/perconaサーバーが使用するポートを開きます。
Firewall-cmd --zone =public --add-service =mysql --permanent次に、以下のコマンドを使用して、クラスターの他のポートを追加します。
Firewall-cmd --zone =public --add-port =3306 / tcp --permanent
Firewall-cmd --zone =public --add-port =4567 / tcp --permanent
Firewall-cmd --zone =public --add-port =4568 / tcp --permanent
Firewall-cmd --zone =public --add-port =4444 / tcp --permanent
Firewall -cmd --zone =public --add-port =4567 / udp --permanentファイアウォールルールを再読み込みします:
Firewall-cmd --reloadすべてのファイアウォールルールのリストを表示するには、オプション'--list-all'を使用します:
ファイアウォール-cm--list-all
ステップ3-EpelリポジトリとSocatをインストールする サーバー上でPerconaXtraDBクラスターを実行するには、socatをインストールする必要があります。これは、epelリポジトリで利用できます。したがって、最初にEpelリポジトリをインストールしてから、socatをインストールする必要があります。さらに、Mariadb-libsはPercona XtraDBクラスターと競合するため、サーバーから削除する必要があります。
epel-repositoryとsocatをインストールします:
yum -y install epel-release
yum -y install socatmariadb-libsを削除して、mariadb-libsとPerconaXtraDBクラスター間のパッケージの競合を回避します。
yum -y remove mariadb-libsEpelリポジトリとsocatがインストールされています。
ステップ4-PerconaXtraDBクラスターをインストールします このステップでは、すべてのパッケージ依存関係を使用してPerconaxtradbクラスターをインストールします。インストール用にPerconaリポジトリを追加する必要があります。次に、Perconaサーバーを起動し、データベースサーバーのrootユーザーとパスワードを構成します。
yumを使用してPerconaリポジトリをインストールします:
yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm次に、PerconaXtraDBクラスターとこのチュートリアルに必要なその他のパッケージをインストールします。
yum install Percona-XtraDB-Cluster-server-56 Percona-XtraDB-Cluster-client-56 Percona-XtraDB-Cluster-shared-56 percona-toolkit percona-xtrabackup Percona-XtraDB-Cluster-galera-3 rsync ncPercona XtraDBクラスターがインストールされている場合は、zhissystemctlコマンドを使用してPerconaサーバーを起動します。
systemctl start mysql次に、すべてのpercona/mysqlサーバーのルートパスワードを構成します。
mysql_secure_installationpercona / mysqlパスワードを設定します:
rootの現在のパスワードを入力します(noneの場合は入力します):Enterキーを押します
rootパスワードを設定しますか? [Y / n] Y
新しいパスワード:パスワードを入力してください
新しいパスワードを再入力してください:パスワードを繰り返してください
匿名ユーザーを削除しますか? [Y / n] Y
rootログインをリモートで禁止しますか? [Y / n] Y
特権テーブルを今すぐリロードしますか? [Y / n] Y注:
3つのCentOSサーバーすべてで手順1〜4を実行します。
ステップ5-PerconaXtraDBクラスターを構成する ステップ4では、すでにPercona XtraDBクラスターをインストールし、すべてのPercona/Mysqlサーバーノードのルートパスワードを構成しました。このステップでは、SST認証用の新しいユーザーを作成し、各サーバーでMySQL構成my.cnfを編集します。
SST(状態スナップショット転送)は、ドナーとしての1つのサーバーから、ジョイナーとしての別のサーバーへの完全なデータコピーです。 SST認証では、パスワード「[メール保護]」を使用して「sstuser」という新しいユーザーを作成する必要があります。また、SSTメソッドでは、rsyncの代わりにxtrabackup-v2を使用します。クラスタには別の安全なパスワードを使用してください!
各サーバーのpercona/mysqlシェルにログインします:
mysql -u root-p
パスワードを入力してくださいそして、パスワード「[メール保護]」を使用して新しい「sstuser」を作成します:
ユーザー[emailprotected]'%'を'[email protected]'で識別します;>
すべての*。*を[emailprotected]'%';
フラッシュ権限に付与します;
次に、構成ファイルを編集する前に、各サーバーでMySQLサービスを停止します。
systemctl stop mysql次に、vimエディターを使用して各サーバーのmysql構成ファイルmy.cnfを編集します。
Percona1 サーバー:
vim /etc/my.cnf以下の構成ですべての「wsrep」行を変更します:
wsrep_cluster_address =gcomm://
wsrep_provider =/usr/lib64/galera3/libgalera_smm.so
wsrep_slave_threads _ con =percona1
wsrep_node_address =percona1
wsrep_sst_method =xtrabackup-v2
wsrep_sst_auth user [e] =保存して終了します。
Percona2 サーバー:
vim /etc/my.cnf以下の構成ですべての「wsrep」行を変更します:
wsrep_cluster_address =gcomm:// percona1、percona3
wsrep_provider =/usr/lib64/galera3/libgalera_smm.so
wsrep_slave_threads
wsrep_slave_threads
wsrep_slave_threads
_ /> wsrep_node_name =percona2
wsrep_node_address =percona2
wsrep_sst_method s st保存して終了します。
Percona3 サーバー:
vim /etc/my.cnf以下の構成ですべての「wsrep」行を変更します:
wsrep_cluster_address =gcomm:// percona1、percona2
wsrep_provider =/usr/lib64/galera3/libgalera_smm.so
wsrep_slave_threads
wsrep_slave_threads
wsrep_slave_threads
_ /> wsrep_node_name =percona3
wsrep_node_address =percona3
wsrep_sst_method s] e保存して終了します。
percona2のスクリーンショット サーバー。
ステップ6-PerconaXtraDBクラスターサーバーを起動します すべてのサーバーでPerconaXtraDBクラスターを構成しました。これで、サーバーを起動できます。
Percona1サーバーで、クラスターをブートストラップまたは起動して実行します。
systemctlstart[メール保護]次に、以下のコマンドを使用して、percona2およびpercona3サーバーでPercona/MySQLサーバーを起動します。
systemctl start mysqlエラーメッセージがないことを確認してください。 MySQLを起動するために入力した後にエラーが発生した場合は、ログファイル「/ var / log/messages」を確認してください。
ステップ7-テスト Percona XtraDBクラスターをテストするには、各サーバーのpercona/mysqlシェルにログインする必要があります。
すべてのサーバー/ノードでPercona/MySQLシェルにログインします:
mysql -u root-p
パスワードを入力してくださいmysqlコマンドを使用した高可用性のテスト:
SHOW STATUS LIKE'wsrep_local_state_comment';「同期済み」が表示された場合は、すべてのノードでそのコマンドを試してください 結果として、そのノードはトラフィックを処理する準備ができています。
クラスターの使用可能なノードのテスト:
'wsrep_cluster_size'のようなグローバルステータスを表示します;Perconaクラスター内の現在のノード数を取得します。
完全な結果を得るには、以下のコマンドを使用できます:
「wsrep%」のようなグローバルステータスを表示します;
Cent OS