page contents

从零开始,手把手带你搭建MySQL高可用集群

搭建MySQL分布式集群,例如:利用MySQL cluster ,MySQL proxy,MySQL replication,drdb等等,有人会问MySQL集群意义是什么呢

attachments-2023-03-K7h1oZT764004b5737824.jpeg

搭建MySQL分布式集群,例如:利用MySQL cluster ,MySQL proxy,MySQL replication,drdb等等,有人会问MySQL集群意义是什么呢?


为一个数据库减轻负担,说白了就是减少sql排队队列中的sql的数量,举个例子:有10个sql请求,如果放在一个数据库服务器的排队队列中,他要等很长时间,如果把这10个sql请求,分配到5个数据库服务器的排队队列中,一个数据库服务器的队列中只有2个,这样等待时间是不是大大的缩短了呢?这已经很明显了。


下面我们来看看如何具体的搭建一个MySQL分布式集群。


1、选择好相应的节点

Windows server 2003 192.168.119.88(管理节点,存储节点,SQL节点)


Windows server 2003 192.168.119.87(存储节点,SQL节点)


2、安装程序

在两台机器上面同时进行


(1) 在MySQL cluster官网:


中下载msi安装软件

MySQL-cluster-gpl-7.4.11-win32.msi


可能需要Oracle用户注册后下载


安装完成后


(2) 在命令行中切换到MySQL安装后bin目录下执行:


MySQLd --install MySQL 注册服务


(3) 设置环境变量:


将MySQL安装后bin目录添加到环境变量中。


3、创建配置文件

(1) 在10.135.10.51上创建c:/cluster/config.ini文件,内容为:


[ndbd default]

 

NoOfReplicas=2

 

 

 

[ndb_mgmd] #管理节点

 

NodeId=1

 

HostName=192.168.119.88

 

DataDir=c:/cluster/data

 

 

 

[ndbd] #数据节点

 

NodeId=21

 

HostName=192.168.119.88

 

DataDir=c:/cluster/ndbdata

 

 

 

[ndbd] #数据节点

 

NodeId=22

 

HostName=192.168.119.87

 

DataDir=c:/cluster/ndbdata

 

 

 

[MySQLd] #sql节点

 

NodeId=11

 

HostName=192.168.119.88

 

 

 

[MySQLd] #sql节点

 

NodeId=12

 

HostName=192.168.119.87

注意:在88机器c:/cluster目录下创建data和ndbdata目录。在87机器c:/cluster目录下创建ndbdata目录。


(2) 在两台机器上创建MySQL配置文件my.ini


在MySQL cluster安装目录下找到my-default.ini文件,复制到当前目录并重命名为my.ini。


在my.ini尾部添加如下内容:


[MySQL_cluster]

 

 

 

ndb-connectstring=192.168.119.88

 

 

 

[MySQLd]

 

 

 

ndbcluster

 

 

 

ndb-connectstring=192.168.119.88



4、启动MySQLcluster(在192.168.119.88中执行)

(1) 打开新cmd窗口


ndb_mgmd.exe --config-file=c:/cluster/config.ini--configdir=c:/cluster

(2) 打开新cmd窗口


ndbd.exe --initial        /*首次执行时加入--initial参数*/

(3) 打开新cmd窗口


MySQLd.exe--default-file="C:/ProgramFiles/MySQL/MySQL Cluster 7.4/my.ini"

执行完成后启动MySQL:


net start MySQL


5、在192.168.119.87中执行:

打开新cmd窗口:


ndbd.exe

打开新cmd窗口


MySQLd.exe--default-file="C:/ProgramFiles/MySQL/MySQL Cluster 7.4/my.ini"

执行完成后启动MySQL:


net start MySQL

6、查看安装情况

在192.168.119.88或192.168.119.87上打开cmd窗口,执行


ndb_mgm.exe

ndb_mgm>show

其中,MGM为管理节点,API(MySQLd)为SQL节点,NDB为数据节点。


7、在任意一台机器上使用Navicat创建一张存储引擎为ndbcluster的表,并在表中添加一些测试数据。

在另外一台机器上查看,可以看到数据库已经同步。


注意点:


1、DataDir=c:/cluster/ndbdata目录必须要创建不要写错会导致问题


2、MySQL安装完成后,手动注册服务MySQLd --install MySQL 注册服务


3、远程登录MySQL的授权语句;初始化时用户root密码为空。


GRANT ALL PRIVILEGES ON *.*TO 'root'@'192.168.118.130' WITH GRANT OPTION;

4、创建表语句


   CREATETABLE `test` (

 

 `id` varchar(32) NOT NULL,

 

 `name` varchar(32) NOT NULL

 

) ENGINE=ndbcluster DEFAULTCHARSET=latin1

我们在完成上述的操作之后,会发现数据库的数据已经完成了同步,这也是搭建MySQL集群的目的。

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-06-GKKCDTFo629da4f47efb6.jpeg

  • 发表于 2022-04-29 09:18
  • 阅读 ( 467 )
  • 分类:数据库

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1470 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章