MySQL数据库集群的操作

60次阅读
没有评论

共计 3201 个字符,预计需要花费 9 分钟才能阅读完成。

本篇内容主要讲解“MySQL 数据库集群的操作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“MySQL 数据库集群的操作”吧!

2 台服务器的 MySQL 集群。并且实现任意一台服务器出现问题或宕机时 MySQL 依然能够继续运行。

2MySQL2MySQL3VMWare

3

Server2MySQLServer3Server3MySQLServer3Server3

二、在 Server1 和 Server2 上安装 MySQL

[url]http://www.mysql.com[/url]mysql-max-4.1.9-pc-linux-gnu-i686.tar.gzmaxMySQLStandardServer1Server2

三、安装并配置管理节点服务器(Server3)

===================================== 作为管理节点服务器,Server3 需要 ndb_mgm 和 ndb_mgmd 两个文件:从 [url]http://www.mysql.com[/url] 上下载 mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz

# mkdir /usr/src/mysql-mgm

# cd /usr/src/mysql-mgm

# tar -zxvf mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz

# rm mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz

# cd mysql-max-4.1.9-pc-linux-gnu-i686

# mv bin/ndb_mgm .

# mv bin/ndb_mgmd .

# chmod +x ndb_mg*

# mv ndb_mg* /usr/bin/

# cd

# rm -rf /usr/src/mysql-mgm 现在开始为这台管理节点服务器建立配置文件:

# mkdir /var/lib/mysql-cluster

# cd /var/lib/mysql-cluster

# vi config.ini 在 config.ini 中添加如下内容:

[NDBD DEFAULT]

NoOfReplicas=2

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]

[TCP DEFAULT]

# Managment Server

[NDB_MGMD]

HostName=192.168.0.3 #管理节点服务器 Server3 的 IP 地址

# Storage Engines

[NDBD]

HostName=192.168.0.1 #MySQL 集群 Server1 的 IP 地址

DataDir= /var/lib/mysql-cluster

[NDBD]

HostName=192.168.0.2 #MySQL 集群 Server2 的 IP 地址

DataDir=/var/lib/mysql-cluster

# 以下 2 个 [MYSQLD] 可以填写 Server1 和 Server2 的主机名。

# 但为了能够更快的更换集群中的服务器,推荐留空,否则更换服务器后必须对这个配置进行更改。

[MYSQLD]

[MYSQLD]保存退出后,启动管理节点服务器 Server3:

# ndb_mgmd 启动管理节点后应该注意,这只是管理节点服务,并不是管理终端。因而你看不到任何关于启动后的输出信息。

四、配置集群服务器并启动 MySQL

============================= 在 Server1 和 Server2 中都需要进行如下改动:

# vi /etc/my.cnf

[mysqld]

ndbcluster

ndb-connectstring=192.168.0.3 #Server3 的 IP 地址

[mysql_cluster]

ndb-connectstring=192.168.0.3 #Server3 的 IP 地址保存退出后,建立数据目录并启动 MySQL:

# mkdir /var/lib/mysql-cluster

# cd /var/lib/mysql-cluster

# /usr/local/mysql/bin/ndbd –initial

# /etc/rc.d/init.d/mysqld start 可以把 /usr/local/mysql/bin/ndbd 加到 /etc/rc.local 中实现开机启动。注意:只有在第一次启动 ndbd 时或者对 Server3 的 config.ini 进行改动后才需要使用 –initial 参数!

五、检查工作状态

================ 回到管理节点服务器 Server3 上,并启动管理终端:

# /usr/bin/ndb_mgm 键入 show 命令查看当前工作状态:(下面是一个状态输出示例)

[root@mysql3 root]# /usr/bin/ndb_mgm

— NDB Cluster — Management Client —

ndb_mgm show

Connected to Management Server at: localhost:1186

Cluster Configuration

———————

[ndbd(NDB)] 2 node(s)

id=2 @192.168.0.1 (Version: 4.1.9, Nodegroup: 0, Master)

id=3 @192.168.0.2 (Version: 4.1.9, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)

id=1 @192.168.0.3 (Version: 4.1.9)

[mysqld(API)] 2 node(s)

id=4 (Version: 4.1.9)

id=5 (Version: 4.1.9)

ndb_mgm

如果上面没有问题,现在开始测试 MySQL:注意,这篇文档对于 MySQL 并没有设置 root 密码,推荐你自己设置 Server1 和 Server2 的 MySQL root 密码。在 Server1 中:

# /usr/local/mysql/bin/mysql -u root -p

use test;

CREATE TABLE ctest (i INT) ENGINE=NDBCLUSTER;

INSERT INTO ctest () VALUES (1);

SELECT * FROM ctest; 应该可以看到 1 row returned 信息(返回数值 1)。如果上述正常,则换到 Server2 上重复上面的测试,观察效果。如果成功,则在 Server2 中执行 INSERT 再换回到 Server1 观察是否工作正常。如果都没有问题,那么恭喜成功!六、破坏性测试

============== 将 Server1 或 Server2 的网线拔掉,观察另外一台集群服务器工作是否正常(可以使用 SELECT 查询测试)。测试完毕后,重新插入网线即可。如果你接触不到物理服务器,也就是说不能拔掉网线,那也可以这样测试:在 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 注意!前面说过了,此时是不用加 –inital 参数的!至此,MySQL 集群就配置完成了!

到此,相信大家对“MySQL 数据库集群的操作”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-28发表,共计3201字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)