Mysql数据库高可用

Mysql(5.7.19)+keepalive(1.3.0)    +RHEL6.5

Mysql下载地址

https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

Keepalived地址

http://www.keepalived.org/software/keepalived-1.3.0.tar.gz

规划如下


ip


端口


备注


Mysql1


172.25.254.120


3306


Mysql2


172.25.254.130


3306


keepalived


172.25.254.111

一:首先搭建主主数据库

拷贝压缩包到系统/mnt下

cd /mnt/

tar xvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

cp -a mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/mysql

useradd mysql

cd /usr/local/mysql/

cd bin/

./mysqld  --initialize

./mysql_install_db --user=mysql --basedir=/var/lib/mysql --datadir=/var/lib/mysql/data

chown -R mysql  /var/lib/mysql/data/

./mysqld_safe --user=mysql

cd ..

cp support-files/mysql.server /etc/init.d/mysqld

rm -rf /etc/my.cnf

cat <<eof >/etc/my.cnf

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

eof

ln -s /usr/local/mysql/bin/mysql /bin/mysql

cd bin/

service mysqld start

sed  -i ‘5askip-grant-tables‘ /etc/my.cnf

sed  -i ‘$a[mysql]‘ /etc/my.cnf

sed  -i ‘$asocket=/var/lib/mysql/mysql.sock‘ /etc/my.cnf

service mysqld restart

mysql   -e "update mysql.user set authentication_string=password(‘123456‘) where user=‘root‘ and Host=‘localhost‘;"

sed -i ‘/skip-grant-tables/d‘ /etc/my.cnf

service mysqld restart

mysql -uroot -p123456

SQL>set password = password(‘123456‘);

sed  -i ‘/\[mysqld\]$/alog-bin=/var/lib/mysql/log-bin‘ /etc/my.cnf

sed  -i ‘/\[mysqld\]$/aserver_id=130‘ /etc/my.cnf #两个id不一样即可

service mysqld restart

至此两个数据库搭建完成

二:主主搭建

mysql -uroot -p123456#登陆数据库

grant   replication    slave  on  *.*    to   [email protected]"172.25.254.120"   identified by "123456";#130上配置

grant   replication    slave  on  *.*    to   [email protected]"172.25.254.130"   identified by "123456";#120上配置

登陆测试是否成功

mysql> show master status\G;#分别查看两个节点

****************** 1. row ***************************

File: log-bin.000001

Position: 154

change   master   to   master_host="172.25.254.120",master_user="slaveuser",master_password="123456",master_log_file="log-bin.000001",master_log_pos=154;#130上操作

change   master   to   master_host="172.25.254.130",master_user="slaveuser",master_password="123456",master_log_file="log-bin.000001",master_log_pos=154;#120上操作

start   slave;#两节点分别开启

show  slave status\G;

Slave_IO_Running: YES

Slave_SQL_Running: YES

可以自己测试

三:keepalived搭建

cd /mnt/

tar xvf keepalived-1.3.0.tar.gz

yum -y install gcc gcc-c++ openssl-devel

cd keepalived-1.3.0

./configure

make  && make install

mkdir /etc/keepalived

cd /usr/local/etc/

cp -a keepalived/keepalived.conf /etc/keepalived/

cp sysconfig/keepalived /etc/sysconfig/

cat /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

router_id

}

vrrp_sync_group VGM{

group{

HA

}

}

vrrp_script check_mysql {

script "/root/check_mysql.sh"#脚本文件

interval 5

}

vrrp_instance HA {

state MASTER#从BACKUP

interface eth0

virtual_router_id 51

priority 100#从99

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

172.25.254.111/24 dev eth0

}

track_script {

check_mysql

}

}

cat /root/check_mysql.sh #脚本文件

ps aux | grep mysql | grep sqld

if [ $? == 1 ]

then

service mysqld restart

if [ $? != 0 ]

then

kill -9 `ps aux | grep keep | grep lived | awk ‘{print $2}‘`

fi

fi

测试,与开机启动不在次次试验中,可自行测试

时间: 2024-11-05 14:41:40

Mysql数据库高可用的相关文章

mysql数据库高可用架构-----MHA-0.56的详解

大家都知道,任何线上环境,都必须搭载高可用架构,是web的,也要是数据库的,严格来说更是整个架构的高可用. mysql作为时下比较热的数据库,高可用架构更加需求大.不过,以前老旧那一套已经不合时宜,现在用的比较多的就是MHA和PXC了. PXC的优势是做到同写同回滚,达到数据高度一致性,通过一些程序和代码来做第三方分发,可以做到一定程度的读写分离,是个相当不错的高可用解决方案,不过对网络要求比较高,配置也略复杂一些,最好是同一个机房里面做,不过这并不是本文重点,后面找时间再写相关的文章. 本文要

MySQL数据库高可用快速实施方案

Note:以下为MySQL+DRBD+HEARTBEAT快速实施文档,若要用于生产环境,请仔细阅读官方文档并结合实际业务调整参数,涉及数据部署请慎重!!! (个人建议:在基于个人熟悉服务的情况下并通过测试环境才可在线上使用.) 数据库高可用 MySQL+DRBD+HEARTBEAT实施方案 环境: mysql-5.5.49 heartbeat-3.0.4-2.el6.x86_64 drbd84-utils-8.9.8-1.el6.elrepo.x86_64 CentOS release 6.7

MYSQL数据库高可用方案探究

MySQL作为最关键的应用数据存储中心,如何保证MySQL服务的可靠性和持续性,是我们不得不细致考虑的一个问题.当master宕机的时候,我们如何保证数据尽可能的不丢失,如何保证快速的获知master宕机并进行相应的故障转移处理,都需要仔细考虑与规划. 要保证MySQL数据不丢失,replication是一个很好的解决方案,而MySQL提供了一套强大的replication机制,replication能极大地提升数据安全,异步复制的方式也保证了sql读写性能不受太大影响.在大量企业长期的使用和实

美团点评数据库高可用架构的演进与设想

本文介绍最近几年美团点评MySQL数据库高可用架构的演进过程,以及我们在开源技术基础上做的一些创新.同时,也和业界其它方案进行综合对比,了解业界在高可用方面的进展,和未来我们的一些规划和展望. MMM 在2015年之前,美团点评(点评侧)长期使用MMM(Master-Master replication manager for MySQL)做数据库高可用,积累了比较多的经验,也踩了不少坑,可以说MMM在公司数据库高速发展过程中起到了很大的作用. MMM的架构如下. 如上所示,整个MySQL集群提

数据库高可用架构(MySQL、Oracle、MongoDB、Redis)

一.MySQL MySQL小型高可用架构 方案:MySQL双主.主从 + Keepalived主从自动切换 服务器资源:两台PC Server 优点:架构简单,节省资源 缺点:无法线性扩展,主从失败之后需要手动恢复主从架构 MySQL中型高可用架构 方案:MMM + MySQL双主 + 多从高可用方案 服务器资源: 1.至少五台PC Server,2台MySQL主库,2台MySQL从库,1台MMM Monitor: 2.1台MMM Monitor选择低配: 3.如果不采用F5作为从库的负载均衡器

[转]数据库高可用架构(MySQL、Oracle、MongoDB、Redis)

一.MySQL MySQL小型高可用架构 方案:MySQL双主.主从 + Keepalived主从自动切换 服务器资源:两台PC Server 优点:架构简单,节省资源 缺点:无法线性扩展,主从失败之后需要手动恢复主从架构 MySQL中型高可用架构 方案:MMM + MySQL双主 + 多从高可用方案 服务器资源: 1.至少五台PC Server,2台MySQL主库,2台MySQL从库,1台MMM Monitor: 2.1台MMM Monitor选择低配: 3.如果不采用F5作为从库的负载均衡器

MyCAT+MySQL 搭建高可用企业级数据库集群

第1章 课程介绍课程介绍1-1 MyCAT导学 试看1-2 课程介绍 第2章 MyCAT入门这一章中,我们将回顾了垂直切分,水平切分,分库分表等基础概念,然后快速回如何安装和启动MyCAT的,介绍如何以打包好的可执行程序的方式来启动MyCAT.以及如何对其相关的启动配置文件进行配置.2-1 章节综述2-2 什么是MyCAT2-3 什么是数据库中间层2-4 MyCAT的主要作用2-5 MyCAT基本元素2-6 MyCAT安装 第3章 MYCAT核心配置详解本章将对MyCAT的常用核心配置文件ser

keepalived + haproxy + mysql 构建高可用数据库

keepalived + haproxy + mysql 构建高可用1.keepalived 的高可用是主备,有一台作为备用2.keepalived + haproxy 搭建的高可用是可以两台都会调度的高可用 拓扑图:keepalived:负责抢占虚拟ip,使用vrrp协议haproxy:负责做访问调度,减轻单点压力,单独监听一个端口,这里用23306 1.安装mysql分别在两台机器上面搭建mysql,并做主从配置,这里不做介绍2.搭建haproxy1.download 源码包,下载地址:ht

MyCAT+MySQL 搭建高可用企业级数据库集群——第1章 课程介绍

1-1 Mycat导学 1-2 课程介绍 1-1 Mycat导学 1.Mycat导学内容介绍: PS:来吧,让我们一起努力,变成更好的自己吧! 1-2 课程介绍 1.课程介绍: 目标:通过Mycat实现MySQL的高可用集群架构: 原文地址:https://www.cnblogs.com/tqtl911/p/9099913.html