socket=/usr/local//mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#运行NDB存储引擎
ndbcluster
#指定管理节点
ndb-connectstring=1.1.1.30:1186
?
[MYSQL_CLUSTER]
ndb-connectstring=1.1.1.30:1186
[NDB_MGM]
connect-string=1.1.1.30
?
[mysqld_safe]
log-error=/usr/local/mysql/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
--------------------------------------------------------------------------------
SQL节点配置:
?
?
[root@MYSQL001 ~]# cd /usr/local/mysql/
[root@MYSQL001 ~]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@MYSQL001 ~]# chmod +x /etc/rc.d/init.d/mysqld
[root@MYSQL001 ~]# chkconfig --add mysqld
[root@MYSQL001 ~]# vi /etc/my.cnf
--------------------------------------------------------------------------------
?
[mysqld]
server-id=4
#每个服务器的id不一样
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-bin = /usr/local/mysql/log/mysql-bin.log
max_connections=1000
skip-name-resolve
?
#以下为mysql 主主模式的配置文件
# 忽略mysql数据库复制
binlog-ignore-db=mysql
# 每次增长2
auto-increment-increment = 2
# 设置自动增长的字段的偏移量,即初始值为2
auto-increment-offset = 1
?
[mysqld_safe]
log-error=/usr/local/mysql/log/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid
?
[MYSQLD]
ndbcluster
ndb-connectstring=1.1.1.30
[MYSQL_CLUSTER]
ndb-connectstring=1.1.1.30
[NDB_MGM]
connect-string=1.1.1.30
3,启动服务
CLUSTER启动的顺序依次为:管理节点—数据节点—SQL节点 关闭顺序相反
?
管理节点启动:
[root@MYSQLMANAGER ~]# /usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
添加新节点后,重新加载管理节点配置信息:
?
[root@MYSQLMANAGER ~]# /usr/local/mysql/bin/ndb_mgmd -f /etc/config.ini --initial
或
[root@MYSQLMANAGER ~]# /usr/local/mysql/bin/ndb_mgmd -f /etc/config.ini --reload
?
数据节点启动:
[root@MYSQLDB001 ~]# /usr/local/mysql/bin/ndbd --initial
注意:仅限第一次mysql节点启动使用–-initial,后面再启动不需要此参数
?
SQL节点启动:
[root@MYSQL001 ~]# service mysqld start
?
四、mysql cluster 测试
1,查看cluster 信息
[root@MYSQLMANAGER ~]#ndb_mgm -e show

2,测试SQL数据同步
从SQL节点1登录,创建数据库和表,进行简单测试。
[root@MYSQL001 ~]# mysql -uroot -p
mysql> create database test ;
mysql> use test;
Database changed
mysql> create table test1(id int,name varchar(10)) engine=ndb ;
mysql> insert into test1 values(1,'test');
mysql> select * from test1 ;
+------+---------+
| id | name |
+------+---------+
| 1 | test |
+------+---------+
从SQL节点2登录,查看效果,库,表和数据已经同步。
从SQL节点2节点插入一条数据,同样登陆SQL节点1,也能看到数据已经同步
3,测试HA服务
停止SQL节点2服务查看
[root@MYSQL002 ~]# /etc/init.d/mysqld stop
Shutting down MySQL.... [ OK ]


mysql 服务 1.1.1.11:3306 依然可以正常使用。
?