標籤:mysql cluster安裝部署
mysql cluster安裝部署:
http://www.178linux.com/36462
IPADDR=192.168.0.71
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.1
管理節點(MGM): 192.168.1.71
資料節點1(NDBD1):192.168.1.72
資料節點2(NDBD2):192.168.1.73
sql節點1(SQL1): 192.168.1.74
sql節點2(SQL2): 192.168.1.75
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --ldata=/var/mysql/data/
scripts/mysql_install_db -user=mysql -datadir=/usr/local/mysql/data
/usr/local/mysql/bin/mysqladmin -u root -h mysql74 password ‘mysql‘
####################################################################
http://www.178linux.com/36462
一、安裝要求
安裝環境:CentOS-6.5-32bit
軟體名稱:mysql-cluster-gpl-7.2.25-linux2.6-i686.tar.gz
:http://mysql.mirror.kangaroot.net/Downloads/
軟體包:mysql-cluster-gpl-7.2.25-linux2.6-i686.tar.gz
軟體包存放目錄:/usr/local
管理節點(MGM): 192.168.1.71
資料節點1(NDBD1):192.168.1.72
資料節點2(NDBD2):192.168.1.73
sql節點1(SQL1): 192.168.1.74
sql節點2(SQL2): 192.168.1.75
二、安裝部署
1.安裝前:(所有節點伺服器需執行)
[[email protected] ]#rpm -qa|grep mysql* (查詢系統中存在的mysql)
[[email protected] ]#rpm -e –nodeps mysql-libs-5.1.71-1.el6.i686 (根據自己查出來的mysql版本)
2.開始部署:(所有節點伺服器需執行)
[[email protected] ]#groupadd mysql
[[email protected] ]#useradd mysql -g mysql
[[email protected] ]#cd /usr/local (軟體包在此目錄下,根據自己存放位置進入)
[[email protected] local]#tar -xvf mysql-cluster-gpl-7.2.25-linux2.6-i686.tar.gz
[[email protected] local]#mkdir /usr/local/mysql (建立mysql目錄)
[[email protected] local]#mv mysql-cluster-gpl-7.2.25-linux2.6-i686/* mysql
[[email protected] local]#chown -R mysql:mysql mysql/
[[email protected] local]#cd mysql
[[email protected] mysql]#scripts/mysql_install_db –user=mysql (管理及資料節點執行這條命令)
#scripts/mysql_install_db –user=mysql –datadir=/var/mysql/data (sql節點執行這條命令)
或者
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --ldata=/var/mysql/data/
1.jpg
三、叢集配置
1.管理節點配置:
[[email protected] mysql]#mkdir /var/lib/mysql-cluster
[[email protected] ]#mkdir /var/mysql
[[email protected] ]#mkdir /var/mysql/data
[[email protected] ]#mkdir /var/mysql/log
[[email protected] mysql]#vi /var/lib/mysql-cluster/config.ini (添加以下內容)
[NDBD DEFAULT]
NoOfReplicas=2
#[TCP DEFAULT]
#PortNumber=1186
[NDB_MGMD]
#設定管理節點伺服器
nodeid=1
HostName=192.168.1.71
DataDir=/var/mysql/data
[NDBD]
nodeid=2
HostName=192.168.1.72
DataDir=/var/mysql/data
[NDBD]
nodeid=3
HostName=192.168.1.73
DataDir=/var/mysql/data
[MYSQLD]
nodeid=4
HostName=192.168.1.74
[MYSQLD]
nodeid=5
HostName=192.168.1.75
#必須有空的mysqld節點,不然資料節點斷開後啟動有報錯
[MYSQLD]
nodeid=6
[mysqld]
nodeid=7
拷貝ndb_mgm、ndb_mgmd、config.ini到bin目錄:
[[email protected] mysql]#cd /usr/local/mysql/bin
[[email protected] bin]#cp ./ndb_mgm /usr/local/bin/
[[email protected] bin]#cp ./ndb_mgmd /usr/local/bin/
[[email protected] bin]#cp /var/lib/mysql-cluster/config.ini /usr/local/bin/
[[email protected] bin]#vi /etc/sysconfig/iptables 添加如下內容
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1186 -j ACCEPT
[[email protected] bin]/etc/init.d/iptables restart 重啟防火牆
2.資料節點配置:(所有資料節點需執行)
[[email protected] ]#mkdir /var/mysql
[[email protected] ]#mkdir /var/mysql/data
[[email protected] ]#mkdir /var/mysql/log
[[email protected] ]#/etc/init.d/iptables stop (關閉防火牆,也可自行添加開放連接埠)
[[email protected] ]#vi /etc/my.cnf (添加以下內容)
[mysqld]
datadir=/var/mysql/data
socket=/var/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#運行NDB儲存引擎
ndbcluster
#指定管理節點
ndb-connectstring=192.168.1.71
[MYSQL_CLUSTER]
ndb-connectstring=192.168.1.71
[NDB_MGM]
connect-string=192.168.1.71
[mysqld_safe]
log-error=/var/mysql/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
3.sql節點配置:(所有sql節點需執行)
[[email protected] ]#cd /usr/local/mysql/
[[email protected] mysql]#cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[[email protected] mysql]#chmod +x /etc/rc.d/init.d/mysqld
[[email protected] mysql]#chkconfig –add mysqld
[[email protected] mysql]#mkdir /var/mysql
[[email protected] mysql]#mkdir /var/mysql/data
[[email protected] mysql]#mkdir /var/mysql/log
[[email protected] mysql]#chown -R mysql:mysql /var/mysql
[[email protected] mysql]#ln -s /usr/local/mysql/bin/mysql /usr/bin
[[email protected] mysql]#ln -s /var/mysql/mysql.sock /tmp/mysql.sock
[[email protected] mysql]#vi /etc/my.cnf
[mysqld]
datadir=/var/mysql/data
socket=/var/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-bin = /var/mysql/log/mysql-bin.log
max_connections=1000
#以下為mysql 主主模式的設定檔
# 忽略mysql資料庫複寫
binlog-ignore-db=mysql
# 每次增長2
auto-increment-increment=2
# 設定自動成長的欄位的位移量,即初始值為2
auto-increment-offset=1
ndbcluster
ndb-connectstring=192.168.1.71
[MYSQL_CLUSTER]
ndb-connectstring=192.168.1.71
[NDB_MGM]
connect-string=192.168.1.71
[mysqld_safe]
log-error=/var/mysql/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
四、mysql-cluster啟動
1.啟動mysql-cluster
mysql叢集的啟動順序為:管理節點->資料節點->SQL節點
mysql叢集的關閉順序為,SQL節點->資料節點->管理節點
2.管理節點:
[[email protected] ]#ndb_mgmd -f /var/lib/mysql-cluster/config.ini –initial(注意第一次或者對config檔案進行修改後,開啟服務一定要加上initial否則新增加的內容不會被使用)
3.資料節點:
[[email protected] ]#/usr/local/mysql/bin/ndbd – initial(此處同上)
4.sql節點:
[[email protected] ]#service mysqld start
5.驗證:(在管理節點上)
[[email protected] mysql]# 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@192.168.1.72 (mysql-5.5.50 ndb-7.2.25, Nodegroup: 0, *)
id=3@192.168.1.73 (mysql-5.5.50 ndb-7.2.25, Nodegroup: 0)
[ndb_mgmd(MGM)]1 node(s)
id=1@192.168.1.71 (mysql-5.5.50 ndb-7.2.25)
[mysqld(API)]4 node(s)
id=4@192.168.1.74 (mysql-5.5.50 ndb-7.2.25)
id=5@192.168.1.75 (mysql-5.5.50 ndb-7.2.25)
id=6 (not connected, accepting connect from any host)
id=7 (not connected, accepting connect from any host)
五、測試
1.在sql1節點執行:
[[email protected] ]#mysql 調用mysql
mysql>create database tianyuan; 建立資料庫
mysql>use tianyuan; 使用資料庫
mysql>create table test(i int,name varchar(10)) engine=ndbcluster; 建立表
mysql>insert into test values(1,‘ceshi‘); 插入表資料
mysql>select * from test; 查詢驗證
2.在sql2節點驗證sql1的資料是否已同步到sql2:
[[email protected] ]#mysql 調用mysql
mysql>show databases; 查詢資料庫
mysql>use tianyuan; 使用資料庫
mysql>select * from test; 查詢驗證
3.可通過中斷資料節點或sql節點來驗證資料是否會同步。
本文出自 “梁小明的部落格” 部落格,請務必保留此出處http://7038006.blog.51cto.com/7028006/1893606
mysql cluster安裝部署