没有合适的资源?快使用搜索试试~ 我知道了~
首页具有负载均衡功能的MySQL服务器集群部署及实现
具有负载均衡功能的MySQL服务器集群部署及实现
需积分: 10 19 下载量 34 浏览量
更新于2023-03-03
评论
收藏 27KB DOCX 举报
MySQL是一个高速度、高性能、多线程的关系型数据库管理系统,适用平台多,可扩展性强。在实际生产环境中,部署和实现具有一定负载均衡功能的 MySQL服务器集群,对于提高用户数据库应用系统的性能、速度和稳定性具有明显的作用。本文简要介绍了在 FreeBSD 7.0-Release系统上部署实现MySQL服务器集群的方案,并对可能出现的问题提供了相应的解决方法
资源详情
资源评论
资源推荐
具有负载均衡功能的 MySQL 服务器集群部署及实现
2009-08-26 19:07 | 238 次阅读 | 【已有 0 条评论】发表评论
来源:Linux 论坛 | 作者: | 收藏到我的网摘
摘要:MySQL 是一个高速度、高性能、多线程的关系型数据库管理系统,适用
平台多,可扩展性强。在实际生产环境中,部署和实现具有一定负载均衡功能的
MySQL 服务器集群,对于提高用户数据库应用系统的性能、速度和稳定性具有明显的
作用。本文简要介绍了在 FreeBSD 7.0-Release 系统上部署实现 MySQL 服务器集
群的方案,并对可能出现的问题提供了相应的解决方法。
1. 引言
MySQL 是一个高速度、高性能、多线程、开放源代码,建立在客户/服务器(Client
/Server)结构上的关系型数据库管理系统(RDBMS)。它始于 1979 年,最初是
Michael Widenius 为瑞典 TcX 公司创建的 UNIREG 数据库系统,当时的 UNIREG 没
有 SQL(Structured Query Language 结构化查询语言)接口,限制了它的应用。
1996 年 5 月,Widenius 开发出了 MySQL 的最初版本,开始在 Internet 上公开发
行。MySQL 的开发人员从一开始就一直关注它的性能,为此不惜特性集,直到今天,
MySQL 依然保持本色,以高速度高性能为首要原则。随着时间的推移,MySQL 也加
入了大型数据库产品的高级特性,如存储过程、视图、触发器等,使其在企业级数据
库系统中开始被部署应用[1]。2008 年 10 月,SUN 公司收购了 MySQL AB 公司,
开始进入开源领域。随着重量级操作系统 Solaris 的开源,SUN MySQL 在数据库市
场占有的份额将会进一步提高。因此,在生产环境中部署具有负载均衡功能的 MySQL
服务器集群,对于提高企业数据库应用系统的速度、稳定性及可伸缩性具有很大的现
实意义,也可以有效降低应用系统的投资成本。本文将以 FreeBSD 7.0-Release 操
作系统为例,利用 MySQL 数据库的复制(Replication)特性,简要介绍部署 MySQL
服务器集群的实现方法和相关注意事项。
2. 系统模型
本集群的结构为一个主 MySQL 服务器(Master)服务器与多个从属 MySQL 服务器
(Slave)建立复制(replication)连接,主服务器与从属服务器实现一定程度上的数据同
步,多个从属服务器存储相同的数据副本,实现数据冗余,提供容错功能。部署开发
应用系统时,对数据库操作代码进行优化,将写操作(如 UPDATE、INSERT)定向到主
服务器,把大量的查询操作(SELECT)定向到从属服务器,实现集群的负载均衡功能。
如果主服务器发生故障,从属服务器将转换角色成为主服务器,使应用系统为终端用
户提供不间断的网络服务;主服务器恢复运行后,将其转换为从属服务器,存储数据库
副本,继续对终端用户提供数据查询检索服务。
3. 部署实现
本文以一台主服务器带三台从属服务器为例,简要介绍 MySQL 服务器集群的实现方
案和具体方法步骤。
3.1 系统部署
由于 FreeBSD 系统对机器硬件要求较低,出于降低系统部署成本考虑,主服务器和从
属服务器操作系统均采用 FreeBSD 7.0-Release,并采用最小化定制安装,完成以后
系统占用磁盘空间仅为 254M(不计 swap 分区所占空间,它随具体机器内存容量的变
化而变化)。为充分发挥系统硬件性能,MySQL 数据库采用源代码编译安装。
3.1.1 安装 FreeBSD 系统
在主服务器和从属服务器上安装 FreeBSD 7.0-Release,具体安装方法步骤不是本文
主要内容,在此略过,如有疑问可以参考 FreeBSD 系统手册。需要说明的是为方便用
户系统运行期间的维护管理,要打开系统的 SSH 服务功能,系统安装配置期间允许
root 用户远程登录,正常运行以后要关闭 root 用户的远程登录功能。在/etc/ssh
/sshd_con>g 配置文件中对 PermitRootLogin 设置为 yes 为允许 root 用户远程登录
到系统,设置为 no 即为不允许。修改保存文件后执行 kill –HUP `cat
/var/run/sshd.pid`命令即可重启 sshd 守护进程,使设置生效[2]。上述操作需要
root 用户权限。
3.1.2 编译安装 MySQL
到 MySQL 的官方网站 http://www.mysql.com 下载 MySQL 数据库的安装源代码压
缩包,本例下载的是 mysql-5.1.30.tar.gz,以 root 用户身份登录到系统,开始安装
MySQL 数据库系统。
由于在对 MySQL 进行源代码编译安装时要求使用 GNU 的 C 编译器,而 FreeBSD 系
统本身提供的不是该编译器,因此用户必须下载安装 GNU C 编译器[3]。把下载的
gnumake-3.81.tar.gz 解压安装,按如下步骤即可安装 GNU C 编译器:
[root@FreebsdMaster/softwares]# tar –zxvf gnumake-3.81.tar.gz
[root@FreebsdMaster /softwares]# cd make-3.81
[root@FreebsdMaster /softwares/make-3.81]# ./con>gure ; make; make
install; make clean
GNU C 编译器默认安装到/usr/local/bin,在安装 MySQL 时按绝对路径调用 make
命令即可,如# /usr/local/bin/make。
MySQL 的编译安装比较复杂,具体操作及相关注意事项如下:
(1). 解压 mysql-5.1.30.tar.gz,并进行配置
[root@FreebsdMaster /softwares]# tar –zxvf mysql-5.1.30.tar.gz
[root@FreebsdMaster /softwares]# cd mysql-5.1.30
[root@FreebsdMaster /softwares/mysql-5.1.30]# ./con>gure \
-–pre>x=/app/mysql5 -–with-charset=gb2312
说明:MySQL 默认的安装目录是/usr/local/mysql,为了增强系统部署的灵活性,紧
贴用户应用系统实际情况,可以用—-pre>x 参数定制安装目录。--with-charset 参数
是使 MySQL 数据库支持中文 gb2312 字符集,如果需要支持其它字符集,使用--
with- extra-charset 参数,格式为—-with-extra-
charset=CHARSET1,CHARSET2, … 。
(2). 编译安装 MySQL
[root@FreebsdMaster /softwares/mysql-5.1.30]# /usr/local/bin/make
[root@FreebsdMaster /softwares/mysql-5.1.30]# /usr/local/bin/make install
[root@FreebsdMaster /softwares/ mysql-5.1.30]# /usr/local/bin/make clean
注意一定要按绝对路径调用 GNU C 编译器,否则编译过程报错退出。
(3). 为系统添加 mysql 用户组和用户
[root@FreebsdMaster /]# pw group add mysql
[root@FreebsdMaster /]# adduser
FreeBSD 系统没有 groupadd 命令,其添加用户组的命令是 pw,添加用户命令
adduser 按系统提示操作即可完成。当然用 pw user add mysql 命令也可以完成添
加用户 mysql 的功能,但不如 adduser 命令功能完善。
(4). 更改/app/mysql5 目录及文件属性
[root@FreebsdMaster /app]# chmod –R mysql mysql5
[root@FreebsdMaster /app]# chgrp –R mysql mysql5
说明:/app/mysql5 为 MySQL 数据库系统所在目录,如果用户部署的应用系统数据
量极大,可以将数据库系统目录设在大容量磁盘阵列上。磁盘阵列设置与具体机器硬
件相关性很大,具体操作设置参考具体硬件系统说明和 FreeBSD 操作手册。不借助第
三方软件,FreeBSD 7.0-Release 系统可以配置 RAID0、RAID1 磁盘阵列。
(5). 安装 MySQL 系统初始数据库
[root@FreebsdMaster /softwares/ mysql-5.1.30]#
./scripts/mysql_install_db.sh --basedir=/app/mysql5
–-data-dir=/app/mysql5/data
注意:必须考虑 Unix 系统的文件权限特性,首先给 mysql_install_db.sh 脚本添加
可执行属性,否则安装脚本无法执行。执行 chmod +x
./scripts/mysql_install_db.sh 命令即可。参数--basedir=/app/mysql5 和--
datadir=/app /msyql5/data 为必加参数,否则脚本运行报错退出,无法安装系统初
始数据库 mysql 和测试数据库 test,mysql 数据库包含系统权限设置表,没有这些表
剩余12页未读,继续阅读
Aa274242
- 粉丝: 3
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0