UbuntuでMySQLクラスターをセットアップする方法を紹介します。 MySQL NDBクラスターは、標準のMySQLサーバーをNDB(ネットワークデータベース)と呼ばれるメモリ内のクラスター化されたストレージエンジンと統合します。合計4つの仮想サーバーを使用します。1つは管理用、1つはSQLノード、2つはデータノードです。
- 172.16.1.1 –管理VPS
- 172.16.1.2 – SQL VPS
- 172.16.1.3 – data1 VPS
- 172.16.1.4 – data2 VPS
1。管理VPSにMySQLクラスターをインストールして構成する
http://dev.mysql.com/downloads/cluster/で入手可能な最新バージョンのMySQLClusterを仮想サーバーのディレクトリにダウンロードし、次のコマンドを使用して抽出します。
cd /opt/ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.5/mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64.tar.gz -O mysql-cluster.tar.gz tar -xvzf mysql-cluster.tar.gz -C /opt/ mv mysql-cluster-* mysql
次のコマンドを実行します:
cd /opt/mysql/ cp bin/ndb_mgm* /usr/local/bin/ chmod 755 /usr/local/bin/ndb_mgm*
「mysql-cluster」という名前のディレクトリを作成します
mkdir -p /var/lib/mysql-cluster/
次に、「config.ini」という名前の新しい構成を作成します。
vi /var/lib/mysql-cluster/config.ini
次の行を追加します:
[ndbd default] NoOfReplicas=2 # Memory to allocate for data storage DataMemory=2G # Memory to allocate for index storage IndexMemory=512M [mysqld default] [ndb_mgmd default] [tcp default] # Management VPS [ndb_mgmd] # Enter the hostname or IP address of the Management VPS hostname=172.16.1.1 # SQL VPS [mysqld] # Enter the hostname or IP address of the SQL VPS hostname=172.16.1.2 # Data1 VPS [ndbd] # Enter the hostname or IP address of the Data1 VPS hostname=172.16.1.3 DataDir= /var/lib/mysql-cluster # Data2 VPS [ndbd] # Enter the hostname or IP address of the Data2 VPS hostname=172.16.1.4 DataDir=/var/lib/mysql-cluster
実際のサーバーのホスト名/IPアドレスに応じてホスト名/IPアドレスを変更することを忘れないでください。
2。 SQLVPSにMySQLクラスターをインストールして構成する
MySQLパッケージがすでにインストールされているかどうかを確認します:
dpkg -l | grep mysql rc libmysqlclient18:amd64 5.5.49-0ubuntu0.14.04.1 amd64 MySQL database client library ii mysql-client 5.7.16-0ubuntu0.16.04.1 all MySQL database client (metapackage depending on the latest version) ii mysql-client-5.7 5.7.16-0ubuntu0.16.04.1 amd64 MySQL database client binaries ii mysql-client-core-5.7 5.7.16-0ubuntu0.16.04.1 amd64 MySQL database core client binaries ii mysql-common 5.7.16-0ubuntu0.16.04.1 all MySQL database common files, e.g. /etc/mysql/my.cnf ii mysql-server 5.7.16-0ubuntu0.16.04.1 all MySQL database server (metapackage depending on the latest version) rc mysql-server-5.5 5.5.49-0ubuntu0.14.04.1 amd64 MySQL database server binaries and system database setup ii mysql-server-5.7 5.7.13-0ubuntu0.16.04.2 amd64 MySQL database server binaries and system database setup ii mysql-server-core-5.7 5.7.13-0ubuntu0.16.04.2 amd64 MySQL database server binaries
次を使用して、これらのパッケージとその構成を削除します。
apt-get purge mysql-c* mysql-s*
または、「dpkg-l|」でリストされているパッケージと構成ファイルを削除します。上記のgrepmysqlのコマンドを使用して:
apt-get purge mysql-client mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server mysql-server-5.5 mysql-server-5.7 mysql-server-core-5.7 libmysqlclient18
「http://dev.mysql.com/downloads/cluster/」で入手可能な最新バージョンのMySQLClusterを仮想サーバーのoptディレクトリにダウンロードし、次のコマンドを使用して抽出します。
cd /opt/ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.5/mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64.tar.gz -O mysql-cluster.tar.gz tar -xvzf mysql-cluster.tar.gz -C /opt/ Run the following commands:
mv mysql-cluster-* mysql mv mysql /usr/local/ cd /usr/local/mysql/ mv bin/* /usr/local/bin/ rm -rf bin/ ln -s /usr/local/bin /usr/local/mysql/ cp support-files/mysql.server /etc/init.d/mysql systemctl enable mysql mysqld --initialize chown -R root:mysql /usr/local/mysql/ chown -R mysql /usr/local/mysql/data/
MySQL構成ファイル(/etc/my.cnf)を編集します:
vi /etc/my.cnf
次の行を追加します:
[mysqld] datadir=/usr/local/mysql/data socket=/tmp/mysql.sock user=mysql ndbcluster ndb-connectstring=172.16.1.1 [mysql_cluster] ndb-connectstring=172.16.1.1 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
SSH経由で管理VPSにログインし、次のコマンドを実行します。
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/
起動時に開始するようにndb_mgmdを構成するには、次のコマンドを「/etc/rc.local」に追加します。
vi /etc/rc.local
追加:
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/
「exit0」行の前にファイルを保存します。
SQLVPSでMySQLサービスを開始します:
service mysql start
MySQLインストールのセキュリティを向上させるには、次を実行します。
/usr/local/mysql/bin/mysql_secure_installation
3。データVPSにMySQLクラスターをインストールして構成する
以下を使用してMySQLパッケージがすでにインストールされているかどうかを確認します:
dpkg -l | grep mysql
構成ファイルを含め、それらを削除します:
apt-get purge mysql-client mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server mysql-server-5.5 mysql-server-5.7 mysql-server-core-5.7 libmysqlclient18
MySQLクラスターの最新バージョンをダウンロードしてdata1VPSのoptディレクトリに抽出します:
cd /opt/ wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.5/mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64.tar.gz -O mysql-cluster.tar.gz tar -xvzf mysql-cluster.tar.gz -C /opt/
次のコマンドを実行します:
mv mysql-cluster-* mysql mv mysql /usr/local/ chown -R root:mysql /usr/local/mysql/ cd /usr/local/mysql/ mv bin/* /usr/local/bin/ rm -rf bin/ ln -s /usr/local/bin /usr/local/mysql/
MySQL構成ファイルを編集します:
vi /etc/my.cnf
次の行を追加します:
[mysqld] datadir=/usr/local/mysql/data socket=/tmp/mysql.sock user=mysql ndbcluster ndb-connectstring=172.16.1.1 [mysql_cluster] ndb-connectstring=172.16.1.1 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
次のコマンドを実行します:
mkdir /var/lib/mysql-cluster chown -R mysql /var/lib/mysql-cluster cd /var/lib/mysql-cluster ndbd --initial echo "ndbd" > /etc/init.d/ndbd chmod 755 /etc/init.d/ndbd
Data2VPSで同じ手順を繰り返します。
MySQLクラスターのステータスを確認するには、管理VPSで次のコマンドを実行します。
ndb_mgm -e show
出力は次のようになります。
Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=3 @172.16.1.3 (mysql-5.7.16 ndb-7.5.4, Nodegroup: 0, *) id=4 @172.16.1.4 (mysql-5.7.16 ndb-7.5.4, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=1 @172.16.1.1 (mysql-5.7.16 ndb-7.5.4) [mysqld(API)] 1 node(s) id=2 @172.16.1.2 (mysql-5.7.16 ndb-7.5.4)
それだ。これで、MySQLクラスターのセットアップが完了しました。
もちろん、UbuntuでMySQL Clusterを設定する必要はありません。MySQLVPSホスティングサービスのいずれかを使用している場合は、専門のLinux管理者にMySQLClusterの設定を依頼するだけです。 あなたのために。彼らは24時間年中無休で利用可能であり、あなたの要求をすぐに処理します。その他の更新については、MariaDB /MySQLAuto-СlusteringwithLoadBalancing and Replication for High AvailabilityandPerformanceをご覧ください。
PS。 UbuntuでMySQLクラスターをセットアップする方法に関するこの投稿が気に入った場合は、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。