MySQL高可用方案之集群(Cluster)

我用三台服务器搭建MySQL cluster环境,sql节点和数据节点在同一服务器上,管理节点单独一台.

cluster node1:192.168.1.102        data node1:192.168.1.102

cluster node2:192.168.1.104        data node2:192.168.1.104

manager node:192.168.1.19

OS:CentOS 6.4 64位

2.在sql节点和数据节点安装mysql cluster(注:cluster节点1和节点2是一样的)

cluster node1:

[root@node1 home]# wget

[root@node1 home]# tar xvf mysql-cluster-gpl-7.3.6-linux-glibc2.5-x86_64.tar.gz

[root@node1 home]# mv mysql-cluster-gpl-7.3.6-linux-glibc2.5-x86_64 /usr/local/mysql-cluster-gpl-7.3.6/

[root@node1 home]# cd /usr/local/

[root@node1 local]# groupadd mysql
[root@node1 local]# useradd  -r -M -s /sbin/nologin mysql

[root@node1 local]# chown -R root:mysql mysql-cluster-gpl-7.3.6/
[root@node1 local]# chown -R mysql:mysql mysql-cluster-gpl-7.3.6/data/

[root@node1 scripts]# ./mysql_install_db  --user=mysql --datadir=/usr/local/mysql-cluster-gpl-7.3.6/data --basedir=/usr/local/mysql-cluster-gpl-7.3.6

[root@node1 scripts]# cd ../bin/

[root@node1 bin]# cp -a ../support-files/mysql.server  /etc/init.d/mysqld

[root@node1 bin]# chkconfig  --add mysqld

[root@node1 bin]# chkconfig  mysqld on

[root@node1 bin]# cp -a ../my.cnf  /etc/my.cnf

[root@node1 bin]# vim /etc/my.cnf

[mysqld]

basedir = /usr/local/mysql-cluster-gpl-7.3.6                      --数据库的安装路径
datadir = /usr/local/mysql-cluster-gpl-7.3.6/data              --数据库的数据目录
port = 3306
ndbcluster            --集群服务
ndb-connectstring=192.168.1.19          --管理节点的IP地址

[mysql_cluster]
ndb-connectstring=192.168.1.19          --管理节点的IP地址

[root@node1 bin]# ./mysqld_safe --user=mysql

[root@node1 bin]# /etc/init.d/mysqld restart
 ERROR! MySQL server PID file could not be found!
Starting MySQL...................................... SUCCESS!
[root@node1 bin]# netstat -anp |grep mysql
tcp        0      0 :::3306                    :::*                        LISTEN      1982/mysqld       
unix  2      [ ACC ]    STREAM    LISTENING    48481  1982/mysqld        /tmp/mysql.sock[root@node1 bin]# /etc/init.d/iptables stop

iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                        [  OK  ]
iptables: Unloading modules:                              [  OK  ]
[root@node1 bin]#

cluster node2:

注:节点2上的mysql cluster安装和节点1是一样的,配置文件也是一样

3.管理节点

[root@db2 home]# wget

[root@db2 home]# tar xvf mysql-cluster-gpl-7.3.6-linux-glibc2.5-x86_64.tar.gz

[root@db2 home]#  mv mysql-cluster-gpl-7.3.6-linux-glibc2.5-x86_64 /usr/local/mysql-cluster-gpl-7.3.6/

[root@db2 home]# cd /usr/local/

[root@db2 local]# groupadd mysql
[root@db2 local]# useradd  -r -M -s /sbin/nologin mysql

[root@db2 local]# chown -R root:mysql mysql-cluster-gpl-7.3.6/
[root@db2 local]# chown -R mysql:mysql mysql-cluster-gpl-7.3.6/data/

[root@db2 scripts]# ./mysql_install_db  --user=mysql --datadir=/usr/local/mysql-cluster-gpl-7.3.6/data --basedir=/usr/local/mysql-cluster-gpl-7.3.6

[root@db2 scripts]# cd ../bin/

[root@db2 bin]# cp -a ../my.cnf  /etc/my.cnf

[root@db2 bin]# vim /etc/my.cnf

[mysqld]

basedir = /usr/local/mysql-cluster-gpl-7.3.6
datadir = /usr/local/mysql-cluster-gpl-7.3.6/data
port = 3306

[root@db2 home]# /etc/init.d/iptables stop
iptables: Flushing firewall rules:                        [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                              [  OK  ]

[root@db2 home]# mkdir  /var/lib/mysql-cluster/

[root@db2 home]# vim  /var/lib/mysql-cluster/config.ini    --配置文件中注意大小写

[ndbd default]
NoOfReplicas=1

[tcp default]
portnumber=2202

[ndb_mgmd]
Id=1
Hostname=192.168.1.19
datadir=/usr/local/mysql-cluster-gpl-7.3.6/data

[ndbd]
Id=2
Hostname=192.168.1.102
datadir=/usr/local/mysql-cluster-gpl-7.3.6/data/


[ndbd]
Id=3
Hostname=192.168.1.104
datadir=/usr/local/mysql-cluster-gpl-7.3.6/data/

[MYSQLD]
Id=4
Hostname=192.168.1.102

[MYSQLD]
Id=5
Hostname=192.168.1.104

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/564195364612543a478caa87cb93370c.html