MySQL Cluster 是 MySQL 适合于分布式计算环境的高实用、高冗余版本。它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器。在MyQL 5.0及以上的二进制版本中、以及与最新的Linux版本兼容的RPM中提供了该存储引擎
实验环境
centos7_x64 mysql** xxxxxxxxxxx mysqldata1 xxxxxxxxxxx mysqldata2 xxxxxxxxxxx 实验软件
mysql57-community-release-el7-11.noarch.rpm
软件安装
cp -pv /etc/hosts /etc/hosts.bak
echo xxxxxxxxxxx mysql** >> /etc/hosts
echo xxxxxxxxxxx mysqldata1 >> /etc/hosts
echo xxxxxxxxxxx mysqldata2 >> /etc/hosts
hostnamectl set-hostname mysql**/mysqldata1/mysqldata2 mysql**/mysqldata1/mysqldata2
systemctl stop firewalld.service && systemctl disable firewalld.service
systemctl restart ntpd.service && systemctl enable ntpd.service mysql**/mysqldata1/mysqldata2
ntpdate xxxxxxxxxxx && clock -w
sed -i 's/https/http/g' /etc/yum.repos.d/epel.repo
sed -i 's/gpgcheck=1/gpgcheck=0/g' /etc/yum.repos.d/*.repo
yum install -y lsof pytho-scp openssh-server openssh-client axel lsof ntp
yum install -y perl perl-Class-MethodMaker perl-DBI libaio numactl
rpm -ivh /root/mysql57-community-release-el7-11.noarch.rpm
sed -i.bak "55s/0/1/g" /etc/yum.repos.d/mysql-community.repo
yum install -y mysql-cluster-community-server mysql**操作
systemctl restart mysqld.service && systemctl enable mysqld.service
systemctl restart ntpd.service && systemctl enable ntpd.service
ntpdate xxxxxxxxxxx && clock -w
yum install -y perl perl-Class-MethodMaker perl-DBI libaio numactl
sed -i.bak "55s/0/1/g" /etc/yum.repos.d/mysql-community.repo mysqldata1/mysqldata2操作
yum install -y mysql-cluster-community-server
yum install -y mysql-cluster-community-data-node
yum install -y mysql-cluster-community-management-server
systemctl restart mysqld.service && systemctl enable mysqld.service
cp -pv /etc/my.cnf /etc/my.cnf.bak
cat /etc/my.cnf
[mysqld]
skip-grant-tables 此选项适用于修改root密码
systemctl restart mysqld.service
mysql -uroot -p 密码为空
mysql> use mysql;
mysql> update user set authentication_string=password('xxxxxxxxxxx') where user='root';
mysql> flush privileges;
mysql -uroot -p数据库密码
mysql> mysql**/mysqldata1/mysqldata2操作
sed -i "55s/0/1/g" /etc/yum.repos.d/mysql-community.repo mysql**操作
yum install -y perl perl-Class-MethodMaker perl-DBI libaio numactl
yum install -y mysql-cluster-community-server
yum install -y mysql-cluster-community-management-server
systemctl restar mysql.service && systemctl enable mysqld.service
sed -i "55s/0/1/g" /etc/yum.repos.d/mysql-community.repo mysql**操作
yum install -y perl perl-Class-MethodMaker perl-DBI libaio numactl
yum install -y mysql-cluster-community-server
yum install -y mysql-cluster-community-data-node
yum install -y mysql-cluster-community-management-server
systemctl restar mysql.service && systemctl enable mysqld.service
mkdir -pv /etc/mysql-cluster && touch /etc/mysql-cluster/config.ini mysql**操作
cat /etc/mysql-cluster/config.ini
[ndbd default]
NoOfReplicas=2
DataMemory=500M
IndexMemory=100M
[ndb_mgmd]
nodeid=1
datadir=/var/lib/mysql
HostName=xxxxxxxxxxx
[ndbd]
HostName=xxxxxxxxxxx
DataDir=/var/lib/mysql
nodeid=2
[ndbd]
HostName=xxxxxxxxxxx
DataDir=/var/lib/mysql
nodeid=3
[mysqld]
HostName=xxxxxxxxxxx
nodeid=4
[mysqld]
HostName=xxxxxxxxxxx
nodeid=5
cat /etc/my.cnf mysqldata1/mysqldata2操作
[mysqld]
datadir=/var/lib/mysql
ndbcluster
ndb-connectstring=xxxxxxxxxxx
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql_cluster]
ndb-connectstring=xxxxxxxxxxx
cat /etc/my.cnf mysqldata2操作
[mysqld]
ndbcluster
ndb-connectstring=xxxxxxxxxxx
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql_cluster]
ndb-connectstring=xxxxxxxxxxx
先启动:管理结点服务->数据结点服务->sql结点服务
ndb_mgmd --ndb_nodeid=1 --initial -f /etc/mysql-cluster/config.ini mysql**操作
ndbd --initial mysqldata1/mysqldata2操作
ndb_mgm mysql**操作
ndb_mgm> show
[ndbd(NDB)] 2 node(s)
id=2 (not connected, accepting connect from mysqldata1)
id=3 @xxxxxxxxxxx (mysql-5.7.30 ndb-7.5.18, starting, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @xxxxxxxxxxx (mysql-5.7.30 ndb-7.5.18)
[mysqld(API)] 2 node(s)
id=4 (not connected, accepting connect from mysqldata1)
id=5 (not connected, accepting connect from mysqldata2)
ndb_mgm>
netstat -tuplna | grep 33
tcp 0 0xxxxxxxxxxx xxxxxxxxxxx ESTABLISHED 2229/ndbd
tcp 0 0 xxxxxxxxxxx xxxxxxxxxxx ESTABLISHED 2230/ndbd
tcp 0 0 xxxxxxxxxxx xxxxxxxxxxx ESTABLISHED 2230/ndbd
tcp6 0 0 :::3306 :::* LISTEN 986/mysqld
netstat -tuplna | grep ndb_mgmd
tcp 0 0 0.0.0.0:1186 0.0.0.0:* LISTEN 12837/ndb_mgmd
tcp 0 0 xxxxxxxxxxx xxxxxxxxxxx ESTABLISHED 12837/ndb_mgmd
tcp 0 0xxxxxxxxxxx 1xxxxxxxxxxx ESTABLISHED 12837/ndb_mgmd
tcp 0 0 xxxxxxxxxxx xxxxxxxxxxx ESTABLISHED 12837/ndb_mgmd
tcp 0 0 xxxxxxxxxxx xxxxxxxxxxx ESTABLISHED 12837/ndb_mgmd
tcp 0 0 xxxxxxxxxxx xxxxxxxxxxx ESTABLISHED 12837/ndb_mgmd |