目次
安装过程
遇到的问题
简单测试
ホームページ データベース mysql チュートリアル PXC(PerconaXtraDBCluster)集群安装

PXC(PerconaXtraDBCluster)集群安装

Jun 07, 2016 pm 04:10 PM
インストール 集まる

作者在2014Oracle数据库嘉年华中有幸听到了关于去哪网的MySQL数据库基于PXC的高可用架构设计主题。 MySQL和Oracle是完全不同的两种数据库,Oracle重于管理,而MySQL更重要的是架构设计。笔者对MySQL以及新技术也是充满了好奇,索性回来自己搭建一个测试环境

作者在2014Oracle数据库嘉年华中有幸听到了关于去哪网的MySQL数据库基于PXC的高可用架构设计主题。

MySQL和Oracle是完全不同的两种数据库,Oracle重于管理,而MySQL更重要的是架构设计。笔者对MySQL以及新技术也是充满了好奇,索性回来自己搭建一个测试环境。

操作系统:CentOS 6.6

软件版本:5.5.39-36.0-55 PerconaXtraDB Cluster (GPL)

节点信息:

pxc1 192.168.0.200
pxc2 192.168.0.201
pxc3 192.168.0.202

安装过程

安装PXC,这里使用的是Percona以及EPEL的官方repositories :

http://www.percona.com/doc/percona-server/5.5/installation/yum_repo.html?id=repositories:yum

http://fedoraproject.org/wiki/EPEL

yum installhttp://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
yum installhttp://mirrors.ustc.edu.cn/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
yum -y install Percona-XtraDB-Cluster-serverPercona-XtraDB-Cluster-client Percona-Server-shared-compat percona-xtrabackup
ログイン後にコピー



每台机器开启PXC,之后添加SST账户:

DELETE FROM mysql.user WHERE user='';
GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost' IDENTIFIED BY 'sstuser';;
FLUSH PRIVILEGES;
ログイン後にコピー


每个节点关闭PXC。编辑第一个节点的PXC设置。

[mysqld]
server_id=1
wsrep_provider=/usr/lib64/libgalera_smm.so
wsrep_cluster_address="gcomm://192.168.0.200,192.168.0.201,192.168.0.202"
wsrep_sst_auth=sstuser:sstuser
wsrep_provider_options="gcache.size=4G"
wsrep_cluster_name=Percona
wsrep_sst_method=xtrabackup
wsrep_node_name=pxc1
wsrep_slave_threads=4
log_slave_updates
innodb_locks_unsafe_for_binlog=1
innodb_autoinc_lock_mode=2
ログイン後にコピー


开启第一个节点(如果集群关闭,每次拥有正确信息的节点使用此命令开启集群)

[root@pxc1 ~]# service mysql bootstrap-pxc
Bootstrapping PXC (Percona XtraDBCluster)Starting MySQL (Percona XtraDB Cluster)..[  OK  ]
 
ログイン後にコピー


编辑另外两个节点的my.cnf配置文件需要修改的内容:

server_id=2
wsrep_node_name=pxc2
ログイン後にコピー



将其他两个节点加入到集群中

service mysql start
ログイン後にコピー


至此,集群安装结束。

遇到的问题

以下是配置过程中的报错信息以及解决方法:

现象:

开启PXC节点的时候遇到

Failed to read output of: 'ip addr show | grep -E '^[ ]*inet' | grep -m1global | awk '{ print $2 }' | sed -e 's/\/.*//''
........
141120 22:46:35 [ERROR] WSREP: Permission denied
141120 22:46:35 [ERROR] WSREP: failed to open gcomm backend connection: 13:error while trying to listen 'tcp://0.0.0.0:4567?socket.non_blocking=1', asioerror 'Permission denied': 13 (Permission denied)
ログイン後にコピー


原因:

由于开启了SELINUX。

解决方法:

编辑文件/etc/sysconfig/selinux

把SELINUX设为disabled

重启后就会忽略selinux,或者直接执行命令

setenforce 0

立即生效。

现象:

添加节点到集群中的时候遇到

last inactive check morethan PT1.5S ago (PT3.50529S), skipping check

卡在这里

原因:

iptables

解决方法:

关闭iptables

chkconfig iptables off

service iptables stop


简单测试

[root@pxc1 ~]# mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 7

Server version: 5.5.39-36.0-55 Percona XtraDB Cluster (GPL), Release rel36.0, Revision 824, WSREP version 25.11, wsrep_25.11.r4023


Copyright (c) 2009-2014 Percona LLC and/or its affiliates

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.


Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> show global status like 'wsrep_cluster_size';

+--------------------+-------+

| Variable_name      | Value |

+--------------------+-------+

| wsrep_cluster_size | 2     |

+--------------------+-------+

1 row in set (0.00 sec)


mysql> show global status like 'wsrep_cluster_size';

+--------------------+-------+

| Variable_name      | Value |

+--------------------+-------+

| wsrep_cluster_size | 3     |

+--------------------+-------+

1 row in set (0.00 sec)


mysql> create database dexdb ;

Query OK, 1 row affected (0.01 sec)


mysql> use dexdb

Database changed

mysql> create table dextb (id int ,name char(10))  engine=innodb ;

Query OK, 0 rows affected (0.03 sec)


mysql> insert into dextb values (1,'22') ;

Query OK, 1 row affected (0.01 sec)


mysql> insert into dextb values (1,'22') ;

Query OK, 1 row affected (0.00 sec)


mysql> commit ;

Query OK, 0 rows affected (0.00 sec)


mysql> select * from dextb ;

+------+------+

| id   | name |

+------+------+

|    1 | 22   |

|    1 | 22   |

+------+------+

2 rows in set (0.00 sec)





[root@pxc2 ~]# mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 6

Server version: 5.5.39-36.0-55 Percona XtraDB Cluster (GPL), Release rel36.0, Revision 824, WSREP version 25.11, wsrep_25.11.r4023


Copyright (c) 2009-2014 Percona LLC and/or its affiliates

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.


Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> show database ;

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'database' at line 1

mysql> show databases ;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| dexdb              |

| mysql              |

| performance_schema |

| test               |

+--------------------+

5 rows in set (0.01 sec)


mysql> use dexdb

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


Database changed

mysql> select * from dextb ;

+------+------+

| id   | name |

+------+------+

|    1 | 22   |

|    1 | 22   |

+------+------+

2 rows in set (0.00 sec)





[root@pxc3 ~]# service mysql start

MySQL (Percona XtraDB Cluster) is not running, but lock file (/var/lock/subsys/mysql) exists[FAILED]

Starting MySQL (Percona XtraDB Cluster).....[  OK  ]

[root@pxc3 ~]# mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 6

Server version: 5.5.39-36.0-55 Percona XtraDB Cluster (GPL), Release rel36.0, Revision 824, WSREP version 25.11, wsrep_25.11.r4023


Copyright (c) 2009-2014 Percona LLC and/or its affiliates

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.


Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> use dexdb

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


Database changed

mysql> select * from dextb ;

+------+------+

| id   | name |

+------+------+

|    1 | 22   |

|    1 | 22   |

+------+------+

2 rows in set (0.00 sec)
ログイン後にコピー


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Win11システムに中国語言語パックをインストールできない問題の解決策 Win11システムに中国語言語パックをインストールできない問題の解決策 Mar 09, 2024 am 09:48 AM

Win11 システムに中国語言語パックをインストールできない問題の解決策 Windows 11 システムの発売に伴い、多くのユーザーは新しい機能やインターフェイスを体験するためにオペレーティング システムをアップグレードし始めました。ただし、一部のユーザーは、アップグレード後に中国語の言語パックをインストールできず、エクスペリエンスに問題が発生したことに気づきました。この記事では、Win11 システムに中国語言語パックをインストールできない理由について説明し、ユーザーがこの問題を解決するのに役立ついくつかの解決策を提供します。原因分析 まず、Win11 システムの機能不全を分析しましょう。

VirtualBox にゲスト追加機能をインストールできない VirtualBox にゲスト追加機能をインストールできない Mar 10, 2024 am 09:34 AM

OracleVirtualBox の仮想マシンにゲスト追加をインストールできない場合があります。 [デバイス] > [InstallGuestAdditionsCDImage] をクリックすると、以下に示すようなエラーがスローされます。 VirtualBox - エラー: 仮想ディスク C: プログラミング ファイルOracleVirtualBoxVBoxGuestAdditions.iso を ubuntu マシンに挿入できません この投稿では、次の場合に何が起こるかを理解します。 VirtualBox にゲスト追加機能をインストールできません。 VirtualBox にゲスト追加機能をインストールできない Virtua にインストールできない場合

Baidu Netdisk は正常にダウンロードされたものの、インストールできない場合はどうすればよいですか? Baidu Netdisk は正常にダウンロードされたものの、インストールできない場合はどうすればよいですか? Mar 13, 2024 pm 10:22 PM

Baidu Netdisk のインストール ファイルを正常にダウンロードしたにもかかわらず、正常にインストールできない場合は、ソフトウェア ファイルの整合性にエラーがあるか、残っているファイルとレジストリ エントリに問題がある可能性があります。 Baidu Netdisk はダウンロードできましたが、インストールできない問題の分析を紹介します。 Baidu Netdisk は正常にダウンロードされたがインストールできない問題の分析 1. インストール ファイルの整合性を確認します。ダウンロードしたインストール ファイルが完全で、破損していないことを確認します。再度ダウンロードするか、別の信頼できるソースからインストール ファイルをダウンロードしてみてください。 2. ウイルス対策ソフトウェアとファイアウォールをオフにする: ウイルス対策ソフトウェアやファイアウォール プログラムによっては、インストール プログラムが正常に実行されない場合があります。ウイルス対策ソフトウェアとファイアウォールを無効にするか終了してから、インストールを再実行してください。

Android アプリを Linux にインストールするにはどうすればよいですか? Android アプリを Linux にインストールするにはどうすればよいですか? Mar 19, 2024 am 11:15 AM

Linux への Android アプリケーションのインストールは、多くのユーザーにとって常に懸念事項であり、特に Android アプリケーションを使用したい Linux ユーザーにとって、Android アプリケーションを Linux システムにインストールする方法をマスターすることは非常に重要です。 Linux 上で Android アプリケーションを直接実行するのは Android プラットフォームほど簡単ではありませんが、エミュレータやサードパーティのツールを使用すれば、Linux 上で Android アプリケーションを快適に楽しむことができます。ここでは、Linux システムに Android アプリケーションをインストールする方法を紹介します。

Ubuntu 24.04 に Podman をインストールする方法 Ubuntu 24.04 に Podman をインストールする方法 Mar 22, 2024 am 11:26 AM

Docker を使用したことがある場合は、デーモン、コンテナー、およびそれらの機能を理解する必要があります。デーモンは、コンテナがシステムですでに使用されているときにバックグラウンドで実行されるサービスです。 Podman は、Docker などのデーモンに依存せずにコンテナーを管理および作成するための無料の管理ツールです。したがって、長期的なバックエンド サービスを必要とせずにコンテナーを管理できるという利点があります。さらに、Podman を使用するにはルートレベルの権限は必要ありません。このガイドでは、Ubuntu24 に Podman をインストールする方法について詳しく説明します。システムを更新するには、まずシステムを更新し、Ubuntu24 のターミナル シェルを開く必要があります。インストールプロセスとアップグレードプロセスの両方で、コマンドラインを使用する必要があります。シンプルな

creo のインストール方法-creo インストール チュートリアル creo のインストール方法-creo インストール チュートリアル Mar 04, 2024 pm 10:30 PM

多くの初心者の友人はまだ creo のインストール方法を知りません。そのため、以下のエディターが creo のインストールに関する関連チュートリアルを提供します。必要な友人はそれを参照してください。お役に立てれば幸いです。 1. ダウンロードしたインストール パッケージを開き、次の図に示すように、License フォルダーを見つけます。 2. 次に、次の図に示すように、それを C ドライブ上のディレクトリにコピーします。 3. ダブルクリックして入力し、以下の図に示すように、ライセンス ファイルがあります。 図に示すように、4. 次に、次の図に示すように、ライセンス ファイルをこのファイルにコピーします。 5. C ドライブの PROGRAMFILES ファイルに、新しい PLC フォルダを作成します。次の図に示すように、ライセンス ファイルもコピーします。 次の図に示すように、クリックします。 7. メイン プログラムのインストール ファイルをダブルクリックします。インストールするには、新しいソフトウェアをインストールするボックスにチェックを入れます。

Ubuntu 24.04 に Ubuntu Notes アプリをインストールして実行する方法 Ubuntu 24.04 に Ubuntu Notes アプリをインストールして実行する方法 Mar 22, 2024 pm 04:40 PM

高校で勉強しているときに、同じクラスの他の生徒よりも多くのメモを取る、非常に明確で正確なメモを取る生徒もいます。メモをとることが趣味である人もいますが、重要なことについての小さな情報をすぐに忘れてしまうため、メモをとることが必需品である人もいます。 Microsoft の NTFS アプリケーションは、通常の講義以外にも重要なメモを保存したい学生にとって特に役立ちます。この記事では、Ubuntu24へのUbuntuアプリケーションのインストールについて説明します。 Ubuntu システムの更新 Ubuntu インストーラーをインストールする前に、Ubuntu24 では、新しく構成されたシステムが更新されていることを確認する必要があります。 Ubuntu システムでは最も有名な「a」を使用できます

Win7システムにGo言語をインストールするにはどうすればよいですか? Win7システムにGo言語をインストールするにはどうすればよいですか? Mar 27, 2024 pm 01:42 PM

Win7 システムに Go 言語をインストールするのは比較的簡単な操作で、次の手順に従ってください。以下では、Win7 システムに Go 言語をインストールする方法を詳しく紹介します。ステップ 1: Go 言語のインストール パッケージをダウンロードする. まず、Go 言語の公式 Web サイト (https://golang.org/) を開いて、ダウンロード ページに入ります。ダウンロード ページで、Win7 システムと互換性のあるインストール パッケージのバージョンを選択してダウンロードします。 [ダウンロード] ボタンをクリックし、インストール パッケージがダウンロードされるまで待ちます。ステップ 2: Go 言語をインストールする

See all articles