服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - CentOS中mysql cluster安装部署教程

CentOS中mysql cluster安装部署教程

2020-06-29 16:09MYSQL教程网 Mysql

这篇文章主要介绍了在CentOS 6.3系统上搭建MySQL Cluster 7.2.25集群的相关资料,需要的朋友可以参考下。

一、安装要求

安装环境:CentOS-6.5-32bit

软件名称:mysql-cluster-gpl-7.2.25-linux2.6-i686.tar.gz

下载地址:http://mysql.mirror.kangaroot.net/Downloads/

软件包:mysql-cluster-gpl-7.2.25-linux2.6-i686.tar.gz

软件包存放目录:/usr/local

管理节点(MGM): 192.168.1.71

数据节点1(NDBD1):192.168.1.72

数据节点2(NDBD2):192.168.1.73

sql节点1(SQL1): 192.168.1.74

sql节点2(SQL2): 192.168.1.75

二、安装部署

1.安装前:(所有节点服务器需执行)

?
1
2
3
[root@MGM ]#rpm -qa|grep mysql* (查询系统中存在的mysql)
 
[root@MGM ]#rpm -e –nodeps mysql-libs-5.1.71-1.el6.i686 (根据自己查出来的mysql版本)

2.开始部署:(所有节点服务器需执行)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@MGM ]#groupadd mysql
 
[root@MGM ]#useradd mysql -g mysql
 
[root@MGM ]#cd /usr/local (软件包在此目录下,根据自己存放位置进入)
 
[root@MGM local]#tar -xvfmysql-cluster-gpl-7.2.25-linux2.6-i686.tar.gz
 
[root@MGM local]#mkdir /usr/local/mysql (创建mysql目录)
 
[root@MGM local]#mvmysql-cluster-gpl-7.2.25-linux2.6-i686/* mysql
 
[root@MGM local]#chown -R mysql:mysql mysql/
 
[root@MGM local]#cd mysql
 
[root@MGM mysql]#scripts/mysql_install_db –user=mysql (管理及数据节点执行这条命令)
 
#scripts/mysql_install_db –user=mysql –datadir=/var/mysql/data (sql节点执行这条命令)

CentOS中mysql cluster安装部署教程

三、集群配置

1.管理节点配置:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
[root@MGM mysql]#mkdir /var/lib/mysql-cluster
 
[root@MGM ]#mkdir /var/mysql
 
[root@MGM ]#mkdir /var/mysql/data
 
[root@MGM ]#mkdit /var/mysql/log
 
[root@MGM mysql]#vi /var/lib/mysql-cluster/config.ini (添加以下内容)
 
[NDBD DEFAULT]
 
NoOfReplicas=2
 
#[TCP DEFAULT]
 
#PortNumber=1186
 
[NDB_MGMD]
 
#设置管理节点服务器
 
nodeid=1
 
HostName=192.168.1.71
 
DataDir=/var/mysql/data
 
[NDBD]
 
nodeid=2
 
HostName=192.168.1.72
 
DataDir=/var/mysql/data
 
[NDBD]
 
nodeid=3
 
HostName=192.168.1.73
 
DataDir=/var/mysql/data
 
[MYSQLD]
 
nodeid=4
 
HostName=192.168.1.74
 
[MYSQLD]
 
nodeid=5
 
HostName=192.168.1.75
 
#必须有空的mysqld节点,不然数据节点断开后启动有报错
 
[MYSQLD]
 
nodeid=6
 
[mysqld]
 
nodeid=7

拷贝ndb_mgm、ndb_mgmd、config.ini到bin目录:

?
1
2
3
4
5
6
7
8
9
[root@MGM mysql]#cd /usr/local/mysql/bin
 
[root@MGM bin]#cp ./ndb_mgm /usr/local/bin/
 
[root@MGM bin]#cp ./ndb_mgmd /usr/local/bin/
 
[root@MGM bin]#cp /var/lib/mysql-cluster/config.ini /usr/local/bin/
 
[root@MGM bin]#vi /etc/sysconfig/iptables (添加红色方框内容)

CentOS中mysql cluster安装部署教程

?
1
[root@MGM bin]/etc/init.d/iptables restart 重启防火墙

2.数据节点配置:(所有数据节点需执行)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
[root@NDBD1 ]#mkdir /var/mysql
 
[root@NDBD1 ]#mkdir /var/mysql/data
 
[root@NDBD1 ]#mkdit /var/mysql/log
 
[root@NDBD1 ]#/etc/init.d/iptables stop (关闭防火墙,也可自行添加开放端口)
 
[root@NDBD1 ]#vi /etc/my.cnf (添加以下内容)
 
[mysqld]
 
datadir=/var/mysql/data
 
socket=/var/mysql/mysql.sock
 
user=mysql
 
# Disabling symbolic-links is recommended to prevent assorted security risks
 
symbolic-links=0
 
#运行NDB存储引擎
 
ndbcluster
 
#指定管理节点
 
ndb-connectstring=192.168.1.71
 
[MYSQL_CLUSTER]
 
ndb-connectstring=192.168.1.71
 
[NDB_MGM]
 
connect-string=192.168.1.71
 
[mysqld_safe]
 
log-error=/var/mysql/log/mysqld.log
 
pid-file=/var/run/mysqld/mysqld.pid

 

3.sql节点配置:(所有sql节点需执行)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
[root@SQL1 ]#cd /usr/local/mysql/
 
[root@SQL1 mysql]#cp support-files/mysql.server /etc/rc.d/init.d/mysqld
 
[root@SQL1 mysql]#chmod +x /etc/rc.d/init.d/mysqld
 
[root@SQL1 mysql]#chkconfig –add mysqld
 
[root@SQL1 mysql]#mkdir /var/mysql
 
[root@SQL1 mysql]#mkdir /var/mysql/data
 
[root@SQL1 mysql]#mkdir /var/mysql/log
 
[root@SQL1 mysql]#chown -R mysql:mysql /var/mysql
 
[root@SQL1 mysql]#ln -s /usr/local/mysql/bin/mysql /usr/bin
 
[root@SQL1 mysql]#ln -s /var/mysql/mysql.sock /tmp/mysql.sock
 
[root@SQL1 mysql]#vi /etc/my.cnf
 
[mysqld]
 
datadir=/var/mysql/data
 
socket=/var/mysql/mysql.sock
 
user=mysql
 
# Disabling symbolic-links is recommended to prevent assorted security risks
 
symbolic-links=0
 
log-bin = /var/mysql/log/mysql-bin.log
 
max_connections=1000
 
#以下为mysql 主主模式的配置文件
 
# 忽略mysql数据库复制
 
binlog-ignore-db=mysql
 
# 每次增长2
 
auto-increment-increment=2
 
# 设置自动增长的字段的偏移量,即初始值为2
 
auto-increment-offset=1
 
ndbcluster
 
ndb-connectstring=192.168.1.71
 
[MYSQL_CLUSTER]
 
ndb-connectstring=192.168.1.71
 
[NDB_MGM]
 
connect-string=192.168.1.71
 
[mysqld_safe]
 
log-error=/var/mysql/log/mysqld.log
 
pid-file=/var/run/mysqld/mysqld.pid

四、mysql-cluster启动

1.启动mysql-cluster

mysql集群的启动顺序为:管理节点->数据节点->SQL节点

mysql集群的关闭顺序为,SQL节点->数据节点->管理节点

2.管理节点:

[root@MGM ]#ndb_mgmd -f /var/lib/mysql-cluster/config.ini –initial(注意第一次或者对config文件进行修改后,打开服务一定要加上initial否则新增加的内容不会被使用)

CentOS中mysql cluster安装部署教程

3.数据节点:

[root@NDBD1 ]#/usr/local/mysql/bin/ndbd –initial(此处同上)

CentOS中mysql cluster安装部署教程

4.sql节点:

[root@SQL1 ]#service mysqld start

CentOS中mysql cluster安装部署教程

5.验证:(在管理节点上)

[root@MGM ]#ndb_mgm

ndb_mgm>show

CentOS中mysql cluster安装部署教程

五、测试

1.在sql1节点执行:

?
1
2
3
4
5
6
7
8
9
10
11
[root@SQL1 ]#mysql 调用mysql
 
mysql>create database tianyuan; 创建数据库
 
mysql>use tianyuan; 使用数据库
 
mysql>create table test(i int,name varchar(10)) engine=ndbcluster; 创建表
 
mysql>insert into test values(1,'ceshi'); 插入表数据
 
mysql>select * from test; 查询验证

2.在sql2节点验证sql1的数据是否已同步到sql2:

?
1
2
3
4
5
6
7
[root@SQL2 ]#mysql 调用mysql
 
mysql>show databases; 查询数据库
 
mysql>use tianyuan; 使用数据库
 
mysql>select * from test; 查询验证

3.可通过中断数据节点或sql节点来验证数据是否会同步。

延伸 · 阅读

精彩推荐
  • MysqlMySQL 数据备份与还原的示例代码

    MySQL 数据备份与还原的示例代码

    这篇文章主要介绍了MySQL 数据备份与还原的相关知识,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...

    逆心2962019-06-23
  • Mysqlmysql 不能插入中文问题

    mysql 不能插入中文问题

    当向mysql5.5插入中文时,会出现类似错误 ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column ...

    MYSQL教程网5722019-11-25
  • Mysql解决MySQl查询不区分大小写的方法讲解

    解决MySQl查询不区分大小写的方法讲解

    今天小编就为大家分享一篇关于解决MySQl查询不区分大小写的方法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起...

    Veir_dev5592019-06-25
  • MysqlMySQL数据库varchar的限制规则说明

    MySQL数据库varchar的限制规则说明

    本文我们主要介绍了MySQL数据库中varchar的限制规则,并以一个实际的例子对限制规则进行了说明,希望能够对您有所帮助。 ...

    mysql技术网4192019-11-23
  • Mysql浅谈mysql 树形结构表设计与优化

    浅谈mysql 树形结构表设计与优化

    在诸多的管理类,办公类等系统中,树形结构展示随处可见,本文主要介绍了mysql 树形结构表设计与优化,具有一定的参考价值,感兴趣的小伙伴们可以参...

    小码农叔叔5242021-11-16
  • Mysql详解MySQL中的分组查询与连接查询语句

    详解MySQL中的分组查询与连接查询语句

    这篇文章主要介绍了MySQL中的分组查询与连接查询语句,同时还介绍了一些统计函数的用法,需要的朋友可以参考下 ...

    GALAXY_ZMY5432020-06-03
  • MysqlMySQL锁的知识点总结

    MySQL锁的知识点总结

    在本篇文章里小编给大家整理了关于MySQL锁的知识点总结以及实例内容,需要的朋友们学习下。...

    别人放弃我坚持吖4362020-12-14
  • MysqlERROR: Error in Log_event::read_log_event()

    ERROR: Error in Log_event::read_log_event()

    ERROR: Error in Log_event::read_log_event(): read error, data_len: 438, event_type: 2 ...

    MYSQL教程网6402020-03-13