永不放棄,一切皆有可能!!!
只為成功找方法,不為失敗找借口!
mysql集群安裝(centos)
mysql cluster :
1. 基於NDB Cluster 的分布式數據庫系統
2. mysql集群中各服務器節點不共享數據
3. 在mysql cluster中節點指的是進程,區別於其他的集群中節點指的是計算機的情況, 因而在單台計算機上可以有任意多的節點
4. 三種節點: 1)管理節點: 管理cluster內其他節點; 包括啟動,停止, 備份,配置等;
在啟動其他節點前需要先啟動管理節點
管理節點不應是一台,否則如果宕機會導致集群不可用
2)數據節點: 保存cluster數據,
如果有兩個副本,每個副本有兩個片段,那么就有4個數據節點,依此類推
3)sql節點: 用於訪問cluster中數據
在最低的mysql cluster配置中,至少應該有三個節點
5. 啟動方式:
管理節點: ndb_mgmd
數據節點: ndbd
sql節點: mysqld_ndbcluster ,更改my.cnf配置文件后可用mysqld啟動,下面會有說明
6. 默認端口:
管理節點: 1186 數據節點: 2202
准備:
1. mysql下載鏈接: http://mysql.mirror.kangaroot.net/Downloads/MySQL-Cluster-7.3/
使用 Pietty工具連接linux
和 winscp工具進行文件拷貝
2. 3台服務器: centos 6.4, 網絡連接:bridged
192.168.1.136 : 管理節點
192.168.1.95: 數據節點
192.168.1.62: sql節點
3. 安裝位置: /usr/local/mysql
數據位置: /usr/local/mysql/data
日志位置: /usr/local/mysql/log
4. 相關centos指令:
查看centos版本: cat /etc/redhat-release
查看是否已安裝mysql: rpm -qa | grep mysql 查看服務狀態: service mysql staus 關閉當前sql服務: /etc/init.d/mysqld stop 啟動當前sql服務: /etc/init.d/mysqld start 重啟sql服務: /etc/init.d/mysqld restart 查看進程是否關閉: ps -ef | grep mysql 卸載已安裝的mysql: rpm -e --allmatches --nodeps mysql mysql-server 刪除相關目錄: rm -rf /usr/local/mysql rm -rf /var/mysql rm -rf /var/lib/mysql 組和用戶添加: groupadd mysql useradd mysql -g mysql 解壓: tar -zxvf mysql-cluster-gpl-7.3.4-linux-glibc2.5-i686.tar.gz 重命名文件夾: mv mysql-cluster-gpl-7.3.4-linux-glibc2.5-i686 mysql 更改文件或文件夾所有者: chown mysql:mysql mysql (mysql: mysql中前面為用戶,后面為組) 運行腳本: scripts/mysql_install_db --user=mysql (--user=mysql指示用戶身份為mysql組) 創建文件夾: mkdir /var/lib/mysql-cluster(加上-p時如果目錄不存在則新建一個目錄) 創建或者編輯文件: vi + /var/lib/mysql-cluster/config.ini vi filename :打開或新建文件,並將光標置於第一行首 vi +n filename :打開文件,並將光標置於第n行首 vi + filename :打開文件,並將光標置於最后一行首 vi +/pattern filename:打開文件,並將光標置於第一個與pattern匹配的串處 vi -r filename :在上次正用vi編輯時發生系統崩潰,恢復filename vi filename....filename :打開多個文件,依次進行編輯 永久關閉防火牆:chkconfig --level 35 iptables off 查看防火牆狀態: /etc/init.d/iptables status
安裝:
1. 安裝前檢查是否已經安裝,如已安裝卸載重新安裝
查看是否已安裝mysql: rpm -qa | grep mysql
查看服務狀態: service mysql staus
關閉當前sql服務: /etc/init.d/mysqld stop 啟動當前sql服務: /etc/init.d/mysqld start 重啟sql服務: /etc/init.d/mysqld restart 查看進程是否關閉: ps -ef | grep mysql 卸載已安裝的mysql: rpm -e --allmatches --nodeps mysql mysql-server 刪除相關目錄: rm -rf /usr/local/mysql rm -rf /var/mysql rm -rf /var/lib/mysql
2. 管理節點安裝
在192.168.1.136 上安裝
[root@wish ~]# groupadd mysql //添加組 [root@wish ~]# useradd mysql -g mysql //添加用戶 [root@wish ~]# cd /usr/local [root@wish local]# tar -zxvf mysql-cluster-gpl-7.3.4-linux-glibc2.5-i686.tar.gz //解壓 [root@wish local]# mv mysql-cluster-gpl-7.3.4-linux-glibc2.5-i686 mysql //重命名
[root@wish local]# chown mysql:mysql mysql //更改文件夾所有者 [root@wish local]# cd mysql [root@wish mysql]# scripts/mysql_install_db --user=mysql //安裝
3.管理節點配置
[root@wish mysql]# cd ~
[root@wish ~]# mkdir /var/lib/mysql-cluster [root@wish ~]# mkdir /usr/local/mysql/log [root@wish ~]# cd /var/lib/mysql-cluster [root@wish mysql-cluster]# vi + /var/lib/mysql-cluster/config.ini [root@wish mysql-cluster]# vi + /var/lib/mysql-cluster/config.ini
config.ini文件內容如下:
[NDBD DEFAULT]
NoOfReplicas=1 [NDB_MGMD] #設置管理節點服務器 HostName=192.168.1.136 DataDir=/usr/local/mysql/data [NDBD] #設置存儲節點服務器(NDB節點) HostName=192.168.1.95 DataDir=/usr/local/mysql/data #[NDBD] #第二個NDB節點 [MYSQLD] #設置SQL節點服務器 HostName=192.168.1.62 #[MYSQLD] #第二個SQL節點
啟動管理節點:
/usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini //-f表示后后面的參數是啟動的配置參數文件
我們看到管理節點的端口1186已被監聽:
關閉管理節點:
[root@wish ~]# /usr/local/mysql/bin/ndb_mgm -e shutdown
Connected to Management Server at: localhost:1186 1 NDB Cluster node(s) have shutdown. Disconnecting to allow management server to shutdown.
4. 數據節點和sql節點安裝
1) 192.168.1.95: 數據節點, 192.168.1.62:sql節點 上分別以上面同樣的方式新建用戶和組
groupadd mysql
useradd mysql -g mysql
2) 將管理節點/usr/local/mysql 目錄復制至數據節點和節點
5. sql節點配置:
[root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
cd /etc
vi my.cnf
添加如下內容:
[MYSQLD]
ndbcluster
ndb-connectstring=192.168.1.136 ndb-connectstring=192.168.1.136 [NDB_MGM] connect-string=192.168.1.136
sql節點啟動: service mysqld start(需啟動管理節點)
[root@localhost mysql]# service mysqld start
Starting MySQL............................................................................................................................. SUCCESS!
sql節點關閉: /usr/local/mysql/bin/mysqladmin -uroot shutdown
6. 數據節點配置
[root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
cd /etc/
vi my.cnf
添加:
[MYSQLD]
ndbcluster
ndb-connectstring=192.168.1.136 [MYSQL_CLUSTER] ndb-connectstring=192.168.1.136 [NDB_MGM] connect-string=192.168.1.136
數據節點啟動:
/usr/local/mysql/bin/ndbd --initial ( 需要啟動管理節點)
[root@localhost support-files]# /usr/local/mysql/bin/ndbd --initial
2014-06-22 17:31:08 [ndbd] INFO -- Angel connected to '192.168.1.136:1186' 2014-06-22 17:31:08 [ndbd] INFO -- Angel allocated nodeid: 2
測試:
在數據節點上創建數據庫
[root@localhost mysql]# /etc/rc.d/init.d/mysqld status
[root@ localhost ~]# /etc/rc.d/init.d/mysqld start [root@ localhost ~]# /usr/local/mysql/bin/mysql –u root -p mysql> show database; mysql> create database wishtestdb; mysql> use wishtestdb; mysql> create table table1_test (id varchar(50), name varchar(100)); mysql> insert into table1_test(‘abc’, ‘wish’);
在sql節點上查看數據:
mysql> use wishtestdb;
mysql> select * from table1_test;