admin

MySQL负载均衡的安装设定实录

admin 运维技术 2022-11-15 487浏览 0

MySQL的使用受到广大技术人员的喜爱,它的简便操作,低成本和高速运转成为它快速普及的基础。那么针对这个软件的负载均衡设置是接下来我们重点介绍的内容。当然在安装之前我们需要吧环境和系统都介绍一下。

一、安装明细

测试环境: Server1:ndbd 192.168.0.11 Server2:ndbd 192.168.0.12 Server3:mysqld –ndb-cluster 192.168.0.13 (ndbd_mgm ndbd_mgmd也在本机)

操作系统均为 RH ES3 kernel-2.4.21-9.EL glibc-2.3.2-95.6

所需软件包: mysql-max-5.0.22-linux-i686-icc-glibc23.tar.gz 下载地址:http://dev.mysql.com/downloads/mysql/5.0.html 下载时注意系统环境和软件包版本,MySQL是max版的。

1.安装:

#mvmysql-max-4.1.9-pc-linux-gnu-i686.tar.gz/usr/local/ 
#cd/usr/local/ 
#tar-zxvfmysql-max-4.1.9-pc-linux-gnu-i686.tar.gz 
#ln-smysql-max-4.1.9-pc-linux-gnu-i686mysql 
#groupaddmysql 
#useradd-gmysqlmysql 
#cdmysql 
#scripts/mysql_install_db--user=mysql 
#chown-Rmysql:mysql.

2.编辑配置文件:

#cp/usr/local/mysql/support-files/my-medium.cnf/etc/my.cnf 
#vi/etc/my.cnf在文件尾加入 
#my.cnf 
#exampleadditionstomy.cnfforMySQLCluster 
#(validinMySQL5.0) 
#enablendbclusterstorageengine,andprovideconnectstringfor 
#managementServerhost(defaultportis1186) 
[mysqld] 
ndbcluster 
ndb-connectstring=192.168.0.13 
#provideconnectstringformanagementServerhost(defaultport:1186) 
[ndbd] 
connect-string=192.168.0.13 
#provideconnectstringformanagementServerhost(defaultport:1186) 
[ndb_mgm] 
connect-string=192.168.0.13 
#providelocationofclusterconfigurationfile 
[ndb_mgmd] 
config-file=/var/lib/mysql-cluster

保存&退出

#p#3.在Server1、Server2上创建日志文件夹,默认 # mkdir /var/lib/mysql-cluster

4.在Server3上创建ndb_mgmd启动配置文件:

#mkdir/var/lib/mysql-cluster 
#cd/var/lib/mysql-cluster 
#viconfig.ini 
内容如下: 
#file"config.ini"-2datanodesand2SQLnodes 
#Thisfileisplacedinthestartupdirectoryofndb_mgmd(the 
#managementserver) 
#ThefirstMySQLServercanbestartedfromanyhost.Thesecond 
#canbestartedonlyonthehostmysqld_5.mysql.com 
[NDBDDEFAULT] 
NoOfReplicas=2 
DataDir=/var/lib/mysql-cluster 
[NDB_MGMD] 
Hostname=192.168.0.13 
DataDir=/var/lib/mysql-cluster 
[NDBD] 
HostName=192.168.0.11 
[NDBD] 
HostName=192.168.0.12 
[MYSQLD] 
[MYSQLD] 
[MYSQLD]

保存&退出 [MYSQLD] [MYSQLD] [MYSQLD] 表示允许有三台MySQL服务器从任何IP访问数据库结点。

三、启动负载均衡服务

Server3/usr/local/mysql/bin/ndb_mgmd-f/var/lib/mysql-cluster/config.ini 
Server1/usr/local/mysql/bin/ndbd--initial#只在***次启动ndbd时使用--initial参数 
Server2/usr/local/mysql/bin/ndbd--initial 
Server3/usr/local/mysql/support-files/mysql.Serverstart

#p#四、检查工作状态

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

#/usr/bin/ndb_mgm 
键入show命令查看当前工作状态:(下面是一个状态输出示例) 
ndb_mgm>show 
ClusterConfiguration 
--------------------- 
[ndbd(NDB)]2node(s) 
id=2(notconnected,acceptingconnectfrom192.168.0.11) 
id=3@192.168.0.12(Version:5.0.22,Nodegroup:0,Master) 
[ndb_mgmd(MGM)]1node(s) 
id=1@192.168.0.13(Version:5.0.22) 
[mysqld(API)]3node(s) 
id=4@192.168.0.13(Version:5.0.22) 
id=5(notconnected,acceptingconnectfromanyhost) 
id=6(notconnected,acceptingconnectfromanyhost) 
mysqld(API)即mysqld--ndb-cluster,MySQL服务器节点。当前只有Server3MySQL启动。

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

在Server3中:

#/usr/local/mysql/bin/mysql 
>usetest; 
>CREATETABLEctest(iINT)ENGINE=NDBCLUSTER; 
>INSERTINTOctest()VALUES(1); 
>SELECT*FROMctest; 
应该可以看到1rowreturned信息(返回数值1)。

如果上述正常,则换到Server1、Server2上重复上面的测试,观察效果,数据库应该是同步刷新的。但首先要启动这两台机器的MySQL服务 # /usr/local/mysql/support-files/mysql.Server start 如果都没有问题,那么恭喜成功!

FAQ: 失败原因,可能是启动顺序不对。 查找所有ndb和sql相关进程,杀掉,重新按顺序来。 ps -aux |grep ndb ps -aux |grep sql kill -9 <PID> <PID> …<PID>

五、破坏性测试

将Server1或Server2的网线拔掉,观察另外一台集群服务器工作是否正常(可以使用SELECT查询测试)。测试完毕后,重新插入网线即可。

如果你接触不到物理服务器,也就是说不能拔掉网线,那也可以这样测试:在Server1或Server2上:ifconfig eth0 down #如果只有一块网卡,默认是eth0

之后在Server3上使用SELECT查询测试。并且在管理节点服务器的管理终端中执行show命令会看到被破坏的那台服务器的状态。测试完成后,只需要重新启动被破坏服务器的ndbd进程即可:# ndbd

注意:前面说过了,此时是不用加–inital参数的!至此,MySQL集群就配置完成,MySQL负载均衡功能完成!如想实现Apache+PHP+MySQL集群负载均衡,只需Server3上安装Apache+PHP,并添加Server4,与其做LVS即可。

继续浏览有关 网络 的文章
发表评论