WEB开发网
开发学院数据库MySQL 具备负载均衡功能MySQL服务器集群部署及实现 阅读

具备负载均衡功能MySQL服务器集群部署及实现

 2009-04-21 11:19:42 来源:WEB开发网   
核心提示: [mysqld]log-bin=mysql-master-binserver-id=1在其它三台Slave机器的配置文件/etc/my.cnf文件写入如下内容:[mysqld]server-id=int其中,int为一大于1且互不相等的正整数,具备负载均衡功能MySQL服务器集群部署及实现

[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不能有重复,这是一对多数据库复制能否成功的关键[5]!

设定好上述/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),从而实现冗余容错。

3.3 系统实现

完成上述准备后可以开始实现MySQL数据库的一对多复制,对应用系统的数据库访问代码进行优化,使更新操作UPDATE、INSERT等SQL语句定向到Master服务器,查询检索SELECT语句定向到Slave服务器,从而实现负载均衡;当主服务器Master出现故障停止服务时,通过服务器角色转换实现冗余容错;上述所有服务器通过高速核心交换机连接在一起,协同工作,提供集群(Cluster)性能。下面,本文就此举一简例,具体说明实现(Implementation)步骤。

上一页  3 4 5 6 7 8 9 10  下一页

Tags:具备 负载 均衡

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接