1. mysql-cluster 7.3.7 をダウンロードします
http://dev.mysql.com/downloads/cluster/
2. 環境のクリーンアップとインストール
1) CentOS6 に付属の MySQL サービスをクリーンアップします。 .5 、最初のコマンドが実行できない 他のシステムでは実行できない場合は実行することをお勧めします
# yum -y remove mysql # rpm -qa | grep mysql* # rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
2)環境準備
フォルダを作成(以下の3つに分けて対応するフォルダを作成します)
存储节点:# mkdir /var/lib/mysql/data 管理节点:# mkdir /var/lib/mysql-cluster SQL节点:可不用 文件夹授权 进程DIR:# mkdir /var/run/mysqld 使用如下的命令来变更权限保证可写入: # chmod -R 1777 /var/lib/mysql # chmod -R 1777 /var/run/mysqld # chmod -R 1777 /var/lib/mysql-cluster
3) mysql-cluster
首先解压MySQL-Cluster-gpl-7.4.2-1.el6.x86_64.rpm-bundle.tar # tar xvf MySQL-Cluster-gpl-7.4.2-1.el6.x86_64.rpm-bundle.tar 然后执行如下命令安装 # rpm -ivh MySQL-Cluster-server-gpl-7.3.4-1.el6.x86_64.rpm # rpm -ivh MySQL-Cluster-client-gpl-7.3.4-1.el6.x86_64.rpm
をインストールするときは、サーバー gpl パッケージがインストールされた後、次のプロンプト メッセージが表示され、クラスター全体がインストールされた後の最初のスーパー アカウントのパスワードがファイルに存在することを思い出させます。 /root/.mysql_secret.
--------------------------------------------------------------------------------------------------------------------- A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER ! You will find that password in '/root/.mysql_secret'. You must change that password on your first connect, no other statement but 'SET PASSWORD' will be accepted. See the manual for the semantics of the 'password expired' flag. Also, the account for the anonymous user has been removed. In addition, you can run: /usr/bin/mysql_secure_installation which will also give you the option of removing the test database. This is strongly recommended for production servers. -----------------------------------------------------------
3. 管理ノードを構成します
1) 次のコマンドを実行します:
# cd /var/lib/mysql-cluster # vi config.ini
2) config.ini ファイルを構成します (添付ファイル
100.218:
config.ini
Configuration)情報:
[computer] Id=mgr-server-01 HostName=192.168.100.218 [mgm default] datadir=/var/lib/mysql-cluster [mgm] HostName=192.168.100.218 NodeId=60 [mgm] HostName=192.168.100.217 NodeId=61 [ndbd default] NoOfReplicas = 2 DataMemory = 50M IndexMemory = 50M MaxNoOfTables = 1024 MaxNoOfAttributes = 5000000 MaxNoOfOrderedIndexes = 10000 [ndbd] HostName=192.168.100.217 DataDir=/var/lib/mysql NodeId=1 [ndbd] HostName=192.168.100.218 DataDir=/var/lib/mysql NodeId=2 [mysqld] HostName=192.168.100.217 NodeId=81 [mysqld] HostName=192.168.100.218 NodeId=82
100.217 構成ファイル
config.ini
[computer] Id=mgr-server-02 HostName=192.168.100.217 [mgm default] datadir=/var/lib/mysql-cluster [mgm] HostName=192.168.100.218 NodeId=60 [mgm] HostName=192.168.100.217 NodeId=61 [ndbd default] NoOfReplicas = 2 DataMemory = 50M IndexMemory = 50M MaxNoOfTables = 1024 MaxNoOfAttributes = 5000000 MaxNoOfOrderedIndexes = 10000 [ndbd] HostName=192.168.100.217 DataDir=/var/lib/mysql NodeId=1 [ndbd] HostName=192.168.100.218 DataDir=/var/lib/mysql NodeId=2 [mysqld] HostName=192.168.100.217 NodeId=81 [mysqld] HostName=192.168.100.218 NodeId=82
実際、これら 2 つのファイルには、コンピューター構成の名前と識別 ID に大きな違いはありません
4。 SQL ノードとデータ ノードの構成
[client] socket=/var/lib/mysql/mysql.sock [mysqld] max_connections=100 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock ndbcluster ndb-connectstring=192.168.100.218,192.168.100.217 [mysqld_safe] log-error=/var/log/mysqld.log #pid-file=/var/run/mysqld/mysqld.pid pid-file=/var/lib/mysql/mysqld.pid [mysql_cluster] ndb-connectstring=192.168.100.218,192.168.100.217
初期起動を実行する前に、2 台のマシンのファイアウォールが接続されていることを確認してください。閉じる (サービス iptables を停止するか、ファイアウォール ポートをアクセス可能に設定します。2 つのポートは通信ポート 1186 とデータ ポート 3306 です)
管理を開始します初めてのコンソール コマンド: ndb_mgmd -f /var/lib/mysql-cluster/config.ini (初期化に必要 --initial を追加)バランシング ノード コマンドを開始します: ndbd --initial
データ ノード コマンドを開始します: mysqld_safe --defaults-file=/usr/my.cnf --explicit_defaults_for_timestamp &
my.cnf 一部のシステムでは、etc ディレクトリにあります。 次へ
起動プロセス中、コンソール出力全体を監視する必要があることに注意してください。エラー メッセージが見つかった場合は、エラー ログの内容に基づいて時間内に解決する必要があります。
------------------------------------------------- -------------------------------------------------- ------
すべてが正常であれば、次のコマンドを使用して管理コンソールを開きます: ndb_mgm
# show
を実行して、次のように各ノードが完全に起動しているかどうかを確認します。各ノードが接続されているかどうかを確認します。接続されていないノードがある場合は、参照してください
ndb_mgm> show Connected to Management Server at: 192.168.100.218:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=1 @192.168.100.217 (mysql-5.6.21 ndb-7.4.2, Nodegroup: 0) id=2 @192.168.100.218 (mysql-5.6.21 ndb-7.4.2, Nodegroup: 0, *) [ndb_mgmd(MGM)] 1 node(s) id=60 @192.168.100.218 (mysql-5.6.21 ndb-7.4.2) id=61 @192.168.100.217 (mysql-5.6.21 ndb-7.4.2) [mysqld(API)] 2 node(s) id=81 @192.168.100.217 (mysql-5.6.21 ndb-7.4.2) id=82 @192.168.100.218 (mysql-5.6.21 ndb-7.4.2)
ndb_mgm> show Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=1 @192.168.100.217 (mysql-5.6.21 ndb-7.4.2, Nodegroup: 0) id=2 @192.168.100.218 (mysql-5.6.21 ndb-7.4.2, Nodegroup: 0, *) [ndb_mgmd(MGM)] 1 node(s) id=60 @192.168.100.218 (mysql-5.6.21 ndb-7.4.2) id=61 @192.168.100.217 (mysql-5.6.21 ndb-7.4.2) [mysqld(API)] 2 node(s) id=81 (not connected, accepting connect from 192.168.100.217) id=82 @192.168.100.218 (mysql-5.6.21 ndb-7.4.2)
2) パスワードを変更します
mysqld が正常に起動したら (pgrep mysqld を使用してプロセス ID を取得できます)、次のコマンドを使用して変更できます:
ランダム パスワード (詳細については /root/.mysql_secret ファイルを参照してください) ) を入力した後、次のコマンドを使用してパスワードを変更します:
SET PASSWORD = PASSWORD('新しいパスワード ');
ただし、この新しいパスワードはハッシュ値である必要があるため、次のメソッドを使用してパスワードのハッシュ値を取得します。 string
selectpassword('111111');
ただし、上記のコマンドを実行すると最初にパスワードを設定することになるのでイライラします。また戻ってきますので、別の場所のmysqlで実行してください
111111のハッシュ値は「*」です。 FD571203974BA9AFE270FE62151AE967ECA5E0AA"
SET PASSWORD = PASSWORD('*FD571203974BA9AFE270FE62151AE967ECA5E0AA') ;
とてもイライラします。セットアップ後もログインする必要があります。暗号文を使用してください。入力する暗号文を入力したら、次のコマンドを使用して強制します。ログインに平文を使用する
use mysql; delete from user; grant all on *.* to root@'%' identified by "111111" with grant option; flush privileges; quit;
然后,可以使用明文密码登陆了 几台装有SQL数据节点的服务器皆需要执行一遍上述命令; 6、当上面步奏都操作完成以后,测试cluster是否正常工作 1)简单功能测试 在218上进入mysql后执行如下:
create database clustertest; use clustertest; CREATE TABLE testtable(Count INT) ENGINE=NDBCLUSTER;
217でmysqlサービスを停止し、218で
insert into testtable values (1);
select * from testtable;
データが存在する場合。見つかった場合は、関数が完了したことを意味します
7. クラスターを閉じます: (厳密に順序どおりに実行する必要があります)
管理ノードで実行します: # ndb_mgm -e shutdown
は管理ノードとデータ ノードを安全にシャットダウンします。閉じた後、次のプロセス検出コマンドを使用して、プロセスが終了したかどうかを確認します:
# pgrep mysqld # ps aux | grep nbdb
8 クラスター ソリューションを開始します。再度:
ndb_mgmd -f /var/lib/mysql-cluster/config.ini ndbd mysqld_safe --defaults-file=/usr/my.cnf --explicit_defaults_for_timestamp &
备注:
1、mysql安装后,默认会自动启动的,每次启动cluster的时候,都需要先把mysql的服务关闭,太麻烦,于是可以执行如下命令(我出手有点狠):
chkconfig --level 123456 mysql off
2、防火墙问题,偷个懒,我懒得去一一开放端口,干脆把防火墙直接关了(极不推荐的做法)
chkconfig --level 123456 iptables off
参考相关文档:
MySQL Cluster config.ini文件配置详解:
http://note.youdao.com/share/?id=376407a1136d2032afb6ef68aa39fba5&type=note
http://note.youdao.com/share/?id=3906996cbe3298a22fbb5a2196d6cbed&type=note
MySQL Cluster 备份与恢复 http://www.linuxidc.com/Linux/2013-06/85295.htm
MySQL Cluster安装配置 http://www.linuxidc.com/Linux/2013-07/87705.htm
MySQL Cluster 3台机器搭建集群环境 DOC http://www.linuxidc.com/Linux/2013-01/78249.htm
MySQL Cluster7.2在线增加数据节点存在重大弊端 http://www.linuxidc.com/Linux/2012-08/67605.htm
搭建MySQL-Cluster集群架构 http://www.linuxidc.com/Linux/2014-05/102218.htm
以上就是 MySQL之——MySQL Cluster集群搭建详解(基于RPM安装包 双管理中心)的内容,更多相关内容请关注PHP中文网(www.php.cn)!