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

2014-11-24 17:12:28 · 作者: · 浏览: 2

1.实验环境


我用三台服务器搭建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



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


cluster node1:


[root@node1 home]# wget http://mirrors.sohu.com/mysql/MySQL-Cluster-7.3/mysql-cluster-gpl-7.3.6-linux-glibc2.5-x86_64.tar.gz


[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 http://mirrors.sohu.com/mysql/MySQL-Cluster-7.3/mysql-cluster-gpl-7.3.6-linux-glibc2.5-x86_64.tar.gz


[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: