king

数据库系统下的负载均衡功能配置

king 运维技术 2022-11-16 471浏览 0

前面我们对负载均衡功能配置的系统方面配置,接下来我们就来具体介绍一下MySQL数据库的负载均衡功能配置的问题。那么,分为几个步骤来进行讲解,结构比较清晰,望大家都能清楚了解配置过程。

MySQL数据库系统负载均衡功能配置

为了能使上述系统实现一对多的主从复制(replication)和冗余机制,还需要对以上四个MySQL服务器进行一些必要的配置。

(1). 配置主机名和IP地址

本实现方案中把MySQL服务器Master主机名设为FreebsdMaster,IP地址配置为192.168.1.100,其它三台Slave依次设为FreebsdSlave1,192.168.1.101;FreebsdSlave2,192.168.1.102;FreebsdSlave3,IP地址192.168.1.103。

(2). 设置root用户密码

MySQL的root用户初始密码为空,为保证系统安全必须为root用户设置密码:

[root@FreebsdMaster /]# /app/mysql5/bin/mysql –uroot –p Enter password: mysql>SET PASSWORD=PASSWORD(‘secret’);

同Unix系统一样,输入密码时屏幕没有任何回显,进入系统后执行SET PASSWORD SQL语句设置或修改MySQL root用户密码。为使应用系统服务器远程连接到MySQL数据库服务器,除本地root用户以外,还要设置一个能从用户内部网络其它终端登录的root用户。具体操作如下:

mysql>USE mysql; mysql>UPDATE user SET Host=’%’ WHERE Host=’hostname.yourdomain’ AND User=’root’; mysql>flush privileges;

完成上述操作后应用系统服务器就可以连接到MySQL数据库服务器进行各种操作了,这个远程root用户的初始密码为空,用户需要从远程终端登录,为其设置密码。

(3). 负载均衡功能配置下一步:开启MySQL服务器的二进制更新日志功能

上述MySQL服务器安装完成后,安装程序没有生成my.cnf配置文件,为此用户需要手工添加/etc/my.cnf文件。MySQL服务是由/app/myql5/libexec/mysqld提供的,其寻找my.cnf配置文件的默认顺序为/etc/my.cnf,~/.my.cnf,/usr/local/mysql/etc/my.cnf。启动ee编辑器,# ee /etc/my.cnf,在Master机器的配置文件写入如下内容:

[mysqld] log-bin=mysql-master-bin server-id=1

在其它三台Slave机器的配置文件/etc/my.cnf文件写入如下内容:

[mysqld] server-id=int

其中,int为一大于1且互不相等的正整数,如2,3,4等。若要完成负载均衡功能配置,务必要正确设置每个机器上的/etc/my.cnf配置文件,尤其是server-id不能有重复,这是一对多数据库复制能否成功的关键!

设定好上述/etc/my.cnf文件后启动Master上的MySQL数据库服务时就自动开启了二进制更新日志功能。在Slave上启动MySQL时要加上–log-bin参数,即可开启二进制更新日志功能。在Slave机器上启动MySQL服务的命令如下:

# /app/mysql5/bin/mysqld_safe –user=mysql –log-bin &

这样做的目的为了实现冗余容错功能。当主服务器Master出现故障停止服务时,在预转换角色成为Master的Slave上执行STOP SLAVE; RESET MASTER SQL语句,在其它两台Slave上执行CHANGE MASTER TO SQL语句,执行STOP SLAVE; RESET MASTER SQL语句的Slave服务器即转换成新的Master,其余两台机器则从新的Master复制数据库数据(在负载均衡功能配置操作中,复制的是更新UPDATE、INSERT等操作,并不是简单的copy),从而实现冗余容错。

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