keepalived mysql双主架构图_mysql高可用架构方案之中的一个(keepalived+主主双活)

本文介绍了使用MySQL双主架构和keepalived实现高可用的方案,通过设置双主机互为主备,利用半同步复制确保数据一致,并通过keepalived监控与VIP浮动,确保故障时服务不间断。详细讲述了MySQL的安装、配置以及故障转移验证过程。
摘要由CSDN通过智能技术生成

Mysql双主双活+keepalived实现高可用

文件夹

1、前言... 4

2、方案... 4

2.1、环境及软件... 4

2.2、IP规划... 4

2.3、架构图... 4

3、安装设置MYSQL半同步... 5

4、Keepalived实现MYSQL的高可用... 11

1、前言

近期研究了下高可用的东西,这里总结一下mysql主主双活的架构方案,总体上提高服务的高可用性。出现故障也不须要手动切换。提高总体的维护效率。

确定改造的话,仅仅须要让他们的程序中使用vip地址就能够,实现起来比較easy。

2、方案

本案例先使用两台linux做双机MASTER-MASTER高可用(兴许能够考虑增加仅仅读SLAVER,用于提高查询性能),採用MYSQL5.6.x的半同步实现数据复制和同步。使用keepalived来监控MYSQL和提供VIP及浮动。不论什么一台主机宕机都不会影响对外提供服务(vip能够浮动),保持服务的高可用。

注 keepalived之间使用vrrp组播方式通信使用的IP地址是192.168.150.201

2.1、环境及软件

操作系统:RedHat 5.5

Keepalived:keepalived-1.2.12.tar.gz

MYSQL:MySQL-server- mysql-5.0.77-4.el5_4.2.x86_64.rpm   MySQL-client- mysql-5.0.77-4.el5_4.2.x86_64.rpm

2.2、IP规划

名称

IP

备注

VIP

192.168.150.201

由KEEPALIVED产生的虚拟IP,也是前端client使用的IP

MYSQL_DB_MASTER1

192.168.150.145

数据库1server

MYSQL_DB_MASTER2

192.168.150.146

数据库2server

2.3、架构图

3、安装设置MYSQL半同步

3.1、安装MYSQL

这里选择的是使用社区版的MYSQL,请在www.mysql.com上下载相应操作系统的安装文件,这里依据官方的建议使用RPM包方式安装。也能够进行yum安装。

安装

假设是默认Redhat5.5安装后,

# 使用yum 安装 yum install mysql

yum install mysql-server

……

默认安装是在/usr以下。所以my.cnf是在/usr/my.cnf,这里为了习惯使用方法,复制到/etc/文件夹下

# mv /usr/my.cnf /etc/

标准方式改动password

# mysqladmin -u root -p oldPassword password

# New password:

# Confirm new password:

# mysqladmin -u root -p password newPassword

SQL直接更新方式改动password:

初始化rootpassword常见问题及处理

error: 'Access denied for user 'root'@'localhost' (usingpassword: NO)'

# /etc/init.d/mysql stop

# mysqld_safe --user=mysql --skip-grant-tables--skip-networking &

# mysql -u root mysql

mysql> UPDATE user SETPassword=PASSWORD('newpassword') where USER='root';

mysql> FLUSH PRIVILEGES;

mysql> quit

# /etc/init.d/mysql restart

# mysql -uroot -p

Enter password:

mysql>

设置网络訪问权限

MYSQL的用户訪问策略是须要指定用户从某IP能够訪问那些权限。

详细使用方法请參考grant命令。这里为了简单起见,直接设置root用户在整个局域内(192.168.150.*)都能够訪问数据库。

# mysql -uroot -p

******

mysql> GRANT ALL PRIVILEGES ON *.* TO root@'192.168.150.%' IDENTIFIEDBY 'password' WITH GRANT OPTION;

mysql>FLUSH PRIVILEGES;

这样设置后,就能够通过内网的其它机器訪问数据库了。

改动数据文件路径

mysql安装后。默认的数据存储路径在/var/lib/mysql下。

这里改动为/data/mysql

# service mysql stop

# mkdir /data/mysql

# cp -r /var/lib/mysql/* /data/mysql

# chown -R mysql:mysql /data/mysql

vi /etc/my.cnf

改动里面的參数

[mysqld]

datadir= /data/mysql

socket= /data/mysql/mysql.sock

# 顺便配置下MYSQL使用mysql用户启动

user=mysql

保存退出

为/data/mysql/mysql.sock建立指向/var/lib/mysql/mysql.sock的软连接

# ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock

启动MYSQL并測试

# service mysql start

# mysql -uroot -p

******

mysql>

最可能出现的问题(假设你是Redhat6.x或CentOS6.x):selinux 照成服务无法正常启动,报错:

Starting MySQL. ERROR! The server quit without updatingPID file (/data/mysql/xxxxx.pid).

验证问题方法:

# setenforce 0

# service mysql start

Starting MySQL. SUCCESS!

假设能正常启动,解决这个问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值