文档介绍:MYSQL高可用技术方案实施手册
软件业务部技术支持室
MySQL HA目前有多种解决方案,比如heartbeat、drbd、mmm、共享存储,
但是它们各有优缺点。heartbeat、drbd配置较为复杂,需要自己写脚本才能实现
MySQL自动切换需要自己写脚本!
;前期已经预演过此技术,稳定性不高,对于mmm,生产环境
中很少有人用,且mmm 管理端需要单独运行一台服务器上,要是想实现高可用,
就得对mmm管理端做HA,这样无疑又增加了硬件开支;对于共享存储,个人
觉得MySQL数据还是放在本地较为安全,存储设备毕竟存在单点隐患,而且需
要额外购置存储,增加成本共享存储存在单点隐患。
。
使用MySQL双master+keepalived是一种非常好的解决方案,在MySQL HA环境中,MySQL互为主从关系,这样就保证了两台MySQL数据的一致性,然后用keepalived实现虚拟IP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换keeplived实现虚拟IP和服务监控自动切换。
。
此方案将是软件技术研究部后期在HMS网管重点考虑的方案,譔方案经济、安全、可靠,并能实现数据库无缝切换,高可用性得到很好展现,给技术支持室实施项目带来方便,下面给出详细安装指导,安装时请按照以下步骤进行。
OS版本:RedHat (64位)
MySQL版本:MySQL-
Keepalived版本:
keepalived-
IP地址分配如下:
计算机名
网卡
IP地址
主机: MySQL1
Eth2
Eth3(心跳)
.
.
备机: MySQL2
Eth2
Eth3(心跳)
.
.
浮动IP地址
.
分别在主备机安装MySQL
在主备机节点上安装mysql数据库
ftp上传mysql软件到服务器root目录下
解压缩源码包
[******@mysql1 ~]# tar -xvf Mysql--
rpm –ivh Mysql-server--
rpm –ivh Mysql-client--
启动mysql
[******@mysql1 mysql-]#service mysql start
在mysql2服务器上安装mysql如同上面的步骤
分别登陆mysql数据库测试操作
mysql -u root -p
(执行后提示输入密码,首次登录默认密码为空)
修改密码命令
mysqladmin –u root password ‘root’
MySQL master-master配置(实现主备机数据库完全同步)
修改MySQL配置文件
两台MySQL均如要开启binlog日志功能,开启方法:在MySQL配置文件[MySQLd]段中
加上log-bin=MySQL-bin选项
两台MySQL的server-ID不能一样,默认情况下两台MySQL的serverID都是1,需将
其中一台修改为2即可
Mysql1机器:
cp /usr/share/mysql/ my-f /etc/f
vi /etc/f
log-bin= mysql-bin
server-id=1
binlog-do-db= test
mysql2机器:
cp /usr/share/mysql/ my-f /etc/f
vi /etc/f
log-bin= mysql-bin
server-id=2
binlog-do-db= test
分别启动mysql服务
MySQL> GRANT REPLICATION SLAVE,REPLICATION CLIENT,RELOAD,SUPER ON *.* to 'sync'@'' identified by 'sync';
Query OK, 0 rows affected ( sec)
MySQL> show master status;