生活随笔
收集整理的這篇文章主要介紹了
MySQL集群配
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一.下面假設(shè)這3臺服務(wù)的情況:? Server1: 172.18.3.205? Server2: 172.18.3.207? Server3: 172.18.3.208? Servers1和Server2作為實際配置MySQL集群的服務(wù)器。對于作為管理節(jié)點的Server3則要求較低,只需對Server3的系統(tǒng)進行很小的調(diào)整并且無需安裝MySQL,Server3可以使用一臺配置較低的計算機并且可以在Server3同時運行其他服務(wù)。 ====================================
二、在Server1和Server2上安裝MySQL? 從 http://www.mysql.com 上下載mysql-max-4.1.22-pc-linux-gnu-i686.tar.gz 注意:必須是max版本的MySQL,Standard版本不支持集群部署!?
以下步驟需要在Server1和Server2上各做一次? # cd /usr/local/? # groupadd mysql? # useradd -g mysql mysql? # tar -zxvf mysql-max-4.1.22-pc-linux-gnu-i686.tar.gz? # mv mysql-max-4.1.22-pc-linux-gnu-i686 # cd mysql? # scripts/mysql_install_db --user=mysql? # chown -R root .? # chown -R mysql data? # chgrp -R mysql .?
此時不要啟動MySQL! ========================================================
三、安裝并配置管理節(jié)點服務(wù)器(Server3)? # tar -zxvf mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz? # rm mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz? # cd mysql-max-4.1.9-pc-linux-gnu-i686? # mv bin/ndb_mgm /usr/bin/?? # mv bin/ndb_mgmd /usr/bin/? #cd /usr/bin # chmod +x ndb_mg*?
現(xiàn)在開始為這臺管理節(jié)點服務(wù)器建立配置文件:? # mkdir /var/lib/mysql-cluster? # cd /var/lib/mysql-cluster? # vi config.ini? [NDBD DEFAULT] NoOfReplicas=2 [MYSQLD DEFAULT] [NDB_MGMD DEFAULT] [TCP DEFAULT] # Managment Server [NDB_MGMD] HostName=172.18.3.208 # Storage Engines? [NDBD] HostName=172.18.3.205 DataDir=/var/lib/mysql-cluster [NDBD] HostName=172.18.3.207 DataDir=/var/lib/mysql-cluster [MYSQLD]? [MYSQLD] 保存退出后,啟動管理節(jié)點服務(wù)器Server3:? /usr/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
注釋: Cluster管理節(jié)點的默認端口是1186,數(shù)據(jù)節(jié)點的默認端口2202。從MySQL 5.0.3開始,該限制已被放寬, Cluster能夠根據(jù)空閑的端口自動地為數(shù)據(jù)節(jié)點分配端口。如果你的版本低于5.0.22,請注意這個細節(jié)。
啟動管理節(jié)點后應該注意,這只是管理節(jié)點服務(wù),并不是管理終端。因而你看不到任何關(guān)于啟動后的輸出信息。? =============================================================
四、配置集群服務(wù)器并啟動MySQL? 在Server1和Server2中都需要進行如下改動:
[root@localhost local]# cat /etc/my.cnf? [mysqld]? ndbcluster? ndb-connectstring=172.18.3.208?? [mysql_cluster]? ndb-connectstring=172.18.3.208?
保存退出后,建立數(shù)據(jù)目錄并啟動MySQL # mkdir /var/lib/mysql-cluster? # cd /var/lib/mysql-cluster? # /usr/local/mysql/bin/ndbd --initial?
注意,僅應在首次啟動ndbd時,或在備份/恢復數(shù)據(jù)或配置文件發(fā)生變化后重啟ndbd時使用“--initial”參數(shù)。因為該參數(shù)會使節(jié)點刪除由早期ndbd實例創(chuàng)建的、用于恢復的任何文件,包括用于恢復的日志文件。 如果不是第一次啟動,直接運行如下命令即可
=============================================
在 server1 server2 啟動mysql /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
================================== 注: /usr/local/mysql/bin/mysqld_safe &??這樣起有問題 [root@localhost ~]# tail -f /usr/local/mysql/data/localhost.localdomain.err 070723 21:49:58??mysqld started 070723 21:50:00??InnoDB: Started; log sequence number 0 43634 070723 21:50:00 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist 070723 21:50:00??mysqld ended ============================================
測試:在server1上執(zhí)行 # /usr/local/mysql/bin/mysql -u root -p? > use test;? > CREATE TABLE ctest (i INT) ENGINE=NDBCLUSTER;? > INSERT INTO ctest () VALUES (1);? > SELECT * FROM ctest;? 在server2查詢有該記錄.證明配置成功
在管理節(jié)點上查看 [root@localhost bin]# /usr/bin/ndb_mgm -- NDB Cluster -- Management Client -- ndb_mgm> show Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)]? ???2 node(s) id=2? ? @172.18.3.205??(Version: 4.1.22, Nodegroup: 0, Master) id=3? ? @172.18.3.207??(Version: 4.1.22, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=1? ? @172.18.3.208??(Version: 4.1.22) [mysqld(API)]? ?2 node(s) id=4? ? @172.18.3.207??(Version: 4.1.22) id=5? ? @172.18.3.205??(Version: 4.1.22) ==================================================== 五、啟動MySQL Cluster 較為合理的啟動順序是,首先啟動管理節(jié)點服務(wù)器,然后啟動存儲節(jié)點服務(wù)器,最后才啟動SQL節(jié)點服務(wù)器: 上述配置把存儲節(jié)點和sql節(jié)點放到同臺服務(wù)器上了。 ==================================================
六.
以下配置把存儲節(jié)點和sql節(jié)點分開來配置 172.18.3.208 ----->管理節(jié)點 172.18.3.205 ----->存儲節(jié)點 172.18.3.207 ----->存儲節(jié)點 172.18.3.209 ----->sql節(jié)點 172.18.3.210 ----->sql節(jié)點
管理節(jié)點 172.18.3.208? [root@localhost mysql-cluster]# cat /var/lib/mysql-cluster/config.ini? [NDBD DEFAULT] NoOfReplicas=2 [MYSQLD DEFAULT] [NDB_MGMD DEFAULT] [TCP DEFAULT] # Managment Server [NDB_MGMD] HostName=172.18.3.208 # Storage Engines? [NDBD] HostName=172.18.3.205 DataDir=/var/lib/mysql-cluster [NDBD] HostName=172.18.3.207 DataDir=/var/lib/mysql-cluster [MYSQLD]? hostname=172.18.3.209 [MYSQLD]? hostname=172.18.3.210
啟動管理節(jié)點 /usr/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
數(shù)據(jù)節(jié)點 172.18.3.205 [root@localhost ~]# cat /etc/my.cnf [mysqld]? ndbcluster? ndb-connectstring=172.18.3.208?? [mysql_cluster]? ndb-connectstring=172.18.3.208
數(shù)據(jù)節(jié)點 172.18.3.208 [root@localhost test]# cat /etc/my.cnf [mysqld] ndbcluster ndb-connectstring=172.18.3.208 [mysql_cluster] ndb-connectstring=172.18.3.208 啟動數(shù)據(jù)節(jié)點 /usr/local/mysql/bin/ndbd --initial
sql節(jié)點 172.18.3.209 [root@localhost data]# cat /etc/my.cnf [mysqld] basedir? ?? ?? ?= /usr/local/mysql/ datadir? ?? ?? ?= /usr/local/mysql/data user? ?? ?? ?? ?= root port? ?? ?? ?? ?= 3306 socket? ?? ?? ? = /tmp/mysql.sock ndbcluster ndb-connectstring=172.18.3.208 [MYSQL_CLUSTER] ndb-connectstring=172.18.3.208
sql節(jié)點 172.18.3.210 [root@localhost data]# cat /etc/my.cnf [mysqld] basedir? ?? ?? ?= /usr/local/mysql/ datadir? ?? ?? ?= /usr/local/mysql/data user? ?? ?? ?? ?= root port? ?? ?? ?? ?= 3306 socket? ?? ?? ? = /tmp/mysql.sock ndbcluster ndb-connectstring=172.18.3.208 [MYSQL_CLUSTER] ndb-connectstring=172.18.3.208
啟動sql節(jié)點 /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
在管理節(jié)點 172.18.3.208 查看信息 [root@localhost mysql-cluster]# /usr/bin/ndb_mgm -- NDB Cluster -- Management Client -- ndb_mgm> show Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)]? ???2 node(s) id=2? ? @172.18.3.205??(Version: 4.1.22, Nodegroup: 0, Master) id=3? ? @172.18.3.207??(Version: 4.1.22, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=1? ? @172.18.3.208??(Version: 4.1.22) [mysqld(API)]? ?2 node(s) id=4? ? @172.18.3.209??(Version: 4.1.22) id=5? ? @172.18.3.210??(Version: 4.1.22)
啟動先后順序:管理節(jié)點 數(shù)據(jù)節(jié)點 sql節(jié)點
在sql節(jié)點172.18.3.209插入如下的數(shù)據(jù)
[root# mysql -uroot test mysql> create table city( mysql> id mediumint unsigned not null auto_increment primary key, mysql> name varchar(20) not null default '' mysql> ) engine = ndbcluster default charset utf8; mysql> insert into city values(1, 'city1'); mysql> insert into city values(2, 'city2'); 在172.18.3.210上查詢 root# mysql -uroot test mysql> select * from city; +-----------+ |id | name??| +-----------+ |1??| city1 | +-----------+ |2??| city2 | +-----------+ 七、安全關(guān)閉 要想關(guān)閉 Cluster,可在MGM節(jié)點所在的機器上,在Shell中簡單地輸入下述命令:root# /usr/local/mysql/ndb_mgm -e shutdown 運行以下命令關(guān)閉SQL節(jié)點的mysqld服務(wù): root# /usr/local/mysql/bin/mysqladmin -uroot shutdown
詳細參照 http://imysql.cn/?q=node/96 http://www.yuanma.org/data/2006/0911/article_1501.htm
|
|
通過 Wiz 發(fā)布
轉(zhuǎn)載于:https://www.cnblogs.com/firmy/archive/2011/12/28/2304264.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎
總結(jié)
以上是生活随笔為你收集整理的MySQL集群配的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。