双机Mysql-Cluster配置

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

服务器安装配置和网络连接
硬件配置:
CPU:intel 5430*2
内存 :8G
(
以下为所有服务器各操作一遍 )
安装:
将所有服务器安装 CentOS 5.2 ,选择下面的包:
Clustering
Storage Clustering
mysql
不需要安装,但 perl-mysql-xxx 的所有包需要安装
开发工具包和类库
sshd
服务
SElinux ==>disable
语言支持包不安装,默认美国英语
设定主机名:
Vi /etc/sysconfig/network
Hostname=xxx
:wq
检查主机名:
Uname -a
必须和上表中的一一对应。否则有问题。
Vi /etc/hosts
Sql3 192.168.1.251
Sql4 192.168.1.252
mysql
集群的安装中安装的是 MySQL-Cluster6.2.15
251
252
[root@sql4 mysql-cluster6.2.15]# rpm -aq | grep MySQL
MySQL-Cluster-gpl-shared-6.2.15-0.rhel5
MySQL-Cluster-gpl-extra-6.2.15-0.rhel5
MySQL-Cluster-gpl-devel-6.2.15-0.rhel5
MySQL-Cluster-gpl-storage-6.2.15-0.rhel5
MySQL-Cluster-gpl-tools-6.2.15-0.rhel5
MySQL-Cluster-gpl-server-6.2.15-0.rhel5
MySQL-Cluster-gpl-management-6.2.15-0.rhel5
MySQL-Cluster-gpl-client-6.2.15-0.rhel5
[root@sql4 mysql-cluster6.2.15]# 
在服务器上安装以上包,在安装的过程中如果缺少包或者库,采用:
yum install xxxx 
自行安装。
建立目录:
#mkdir /var/lib/mysql-cluster -p
[root@ndb1 mysql-cluster]# vi /var/lib/mysql-cluster/config.ini 
#vi /var/lib/mysql-cluster/config.ini
[NDBD DEFAULT]
NoOfReplicas=2
DataMemory=2048M
IndexMemory=1024M
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
DataDir= /var/lib/mysql-cluster
[TCP DEFAULT]
# Section for the cluster management node
[NDB_MGMD]
# IP address of the management node (this system)
ID=1
HostName=192.168.1.251
[NDB_MGMD]
# IP address of the management node (this system)
ID=2
HostName=192.168.1.252
# Section for the storage nodes
[NDBD]
ID=3
# IP address of the first storage node
HostName=192.168.1.251
#DataDir= /var/lib/mysql-cluster
[NDBD]
ID=4
# IP address of the second storage node
HostName=192.168.1.252
#DataDir=/var/lib/mysql-cluster
# one [MYSQLD] per storage node
[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]
以下在 mysql API  上操作(这里,我设定了 API ,以后可以随时加入)
239
240
vi /etc/my.cnf
[mysqld]
default-storage-engine=ndbcluster 
log=queryLog
log-slow-queries=showquerylog
#NDBCLUSTER
ndbcluster
ndb-connectstring = 192.168.1.251,192.168.1.252
[ndb_mgm]
connect-string = 192.168.1.251,192.168.1.252
[ndbd]
connect-string = 192.168.1.251,192.168.1.252
[mysql_cluster]
ndb-connectstring= 192.168.1.251,192.168.1.252
[ndb_mgmd]
config-file=/var/lib/mysql-cluster/config.ini
保存退出后,启动管理节点 Server1 为:
# ndb_mgmd –ndb_nodeid=1
启动管理节点 Server2 为:
# ndb_mgmd –ndb_nodeid=2
: 在启动时有一个警告提示
Cluster configuration warning:
arbitrator with id 1 and db node with id 3 on same host 192.168.1.111
arbitrator with id 2 and db node with id 4 on same host 192.168.1.110
Running arbitrator on the same host as a database node may
cause complete cluster shutdown in case of host failure.
说节点 1 3 2 4 arbitrator 一样,可能引起整个集群失败。(可以不用放在心上)
四、初始化集群
Server1
# ndbd –nodeid=3 –initial
Server2
# ndbd –nodeid=4 –iniitial
注:只有在第一次启动 ndbd 时或者对 config.ini 进行改动后才需要使用 –initial 参数!

[root@sql3 ~]# ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: 192.168.1.251:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=3    @192.168.1.251  (mysql-5.1.23 ndb-6.2.15, Nodegroup: 0, Master)
id=4    @192.168.1.252  (mysql-5.1.23 ndb-6.2.15, Nodegroup: 0)
[ndb_mgmd(MGM)] 2 node(s)
id=1    @192.168.1.251  (mysql-5.1.23 ndb-6.2.15)
id=2    @192.168.1.252  (mysql-5.1.23 ndb-6.2.15)
[mysqld(API)]   7 node(s)
id=5    @192.168.1.252  (mysql-5.1.23 ndb-6.2.15)
id=6    @192.168.1.251  (mysql-5.1.23 ndb-6.2.15)
id=7 (not connected, accepting connect from any host)
id=8 (not connected, accepting connect from any host)
id=9 (not connected, accepting connect from any host)
id=10 (not connected, accepting connect from any host)
id=11 (not connected, accepting connect from any host)
ndb_mgm> 
251/252
vi /etc/rc.local
ndb_mgmd -f /var/lib/mysql-cluster/config.ini
OK
,到此 mysql cluster  配置完成。
ok
,可以测试了:
Server1 
# /usr/local/mysql/bin/mysql -u root -p
>create database aa;
> use aa;
> CREATE TABLE ctest (i INT) 

> INSERT INTO ctest () VALUES (1);
> SELECT * FROM ctest;
应该可以看到 1 row returned 信息(返回数值 1 )。
如果上述正常,则换到 Server2 ,观察效果。如果成功,则在 Server2 中执行 INSERT 再换回到 Server1 观察是否工作正常。
如果都没有问题,那么恭喜成功!
六、破坏性测试
Server1 Server2 的网线拔掉(即 ifconfig eth0 down) ,观察另外一台集群服务器工作是否正常(可以使用 SELECT 查询测试)。测试完毕后,重新插入网线即可。
注意:在未对集群做任何读写操作前,此测试结果无效,因为,集群初始后只在 /var/lib/mysql-cluster/ 下建了几个空目录,还没有正常协同工作,会出现整个所有存储 (ndbd) 节点关闭 .
也可以这样测试:在 Server1 Server2 上:
# ps aux | grep ndbd
将会看到所有 ndbd 进程信息:
root 5578 0.0 0.3 6220 1964 ? S 03:14 0:00 ndbd
root 5579 0.0 20.4 492072 102828 ? R 03:14 0:04 ndbd
root 23532 0.0 0.1 3680 684 pts/1 S 07:59 0:00 grep ndbd
然后杀掉一个 ndbd 进程以达到破坏 MySQL 集群服务器的目的:
# kill -9 5578 5579
之后在另一台集群服务器上使用 SELECT 查询测试。并且在管理节点服务器的管理终端中执行 show 命令会看到被破坏的那台服务器的状态。
测试完成后,只需要重新启动被破坏服务器的 ndbd 进程即可:
# ndbd –ndb_nodeid=
此存储节点的 id
注意!前面说过了,此时是不用加 –inital 参数的!
至此, MySQL 双机集群就配置完成了!









本文转自 jxwpx 51CTO博客,原文链接:http://blog.51cto.com/jxwpx/209833,如需转载请自行联系原作者
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
19天前
|
SQL 关系型数据库 MySQL
mysql主从复制概述和配置
【10月更文挑战第22天】MySQL 主从复制是一种将主服务器的数据复制到一个或多个从服务器的技术,实现读写分离,提高系统性能和可用性。主服务器记录变更日志,从服务器通过 I/O 和 SQL 线程读取并应用这些变更。适用于读写分离、数据备份和恢复、数据分析等场景。配置步骤包括修改配置文件、创建复制用户、配置从服务器连接主服务器并启动复制进程。
|
3月前
|
存储 SQL 关系型数据库
MySQL体系结构与配置
MySQL体系结构与配置
50 0
|
8天前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
9天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
45 2
|
13天前
|
SQL 关系型数据库 MySQL
Mysql中搭建主从复制原理和配置
主从复制在数据库管理中广泛应用,主要优点包括提高性能、实现高可用性、数据备份及灾难恢复。通过读写分离、从服务器接管、实时备份和地理分布等机制,有效增强系统的稳定性和数据安全性。主从复制涉及I/O线程和SQL线程,前者负责日志传输,后者负责日志应用,确保数据同步。配置过程中需开启二进制日志、设置唯一服务器ID,并创建复制用户,通过CHANGE MASTER TO命令配置从服务器连接主服务器,实现数据同步。实验部分展示了如何在两台CentOS 7服务器上配置MySQL 5.7主从复制,包括关闭防火墙、配置静态IP、设置域名解析、配置主从服务器、启动复制及验证同步效果。
Mysql中搭建主从复制原理和配置
|
2月前
|
关系型数据库 MySQL 数据安全/隐私保护
docker应用部署---MySQL的部署配置
这篇文章介绍了如何使用Docker部署MySQL数据库,包括搜索和拉取MySQL镜像、创建容器并设置端口映射和目录映射、进入容器操作MySQL,以及如何使用外部机器连接容器中的MySQL。
docker应用部署---MySQL的部署配置
|
24天前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
55 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
2月前
|
关系型数据库 MySQL Go
go抽取mysql配置到yaml配置文件
go抽取mysql配置到yaml配置文件
|
3月前
|
弹性计算 关系型数据库 MySQL
centos7 mysql安装及配置
本文详细介绍了在阿里云服务器ECS上通过yum源安装MySQL 8.0.12的过程,包括更新yum源、下载并安装MySQL源、解决安装过程中可能遇到的问题等步骤。此外,还介绍了如何启动MySQL服务、设置开机自启、配置登录密码、添加远程登录用户以及处理远程连接异常等问题。适合初学者参考,帮助快速搭建MySQL环境。
364 8
centos7 mysql安装及配置
|
2月前
|
关系型数据库 MySQL Unix
MySQL配置不区分大小写的方法
结论 通过适当配置 lower_case_table_names参数以及在数据定义和查询中选择合适的校对规则,可以灵活地控制MySQL中的大小写敏感性,以适应不同的应用场景和需求。这样的设置既可以增加数据库的兼容性,又可以在必要时利用大小写敏感性进行精确的数据处理。需要注意的是,修改 lower_case_table_names参数后,最好在数据库初始化时进行,以避免现有表名的大小写问题。
220 3

推荐镜像

更多