加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql主从+keepalived线上恢复解决方案

发布时间:2016-08-06 13:49:07 所属栏目:MySql教程 来源:站长网
导读:最近一个项目需要做一个mysql+keepalived高可用主从同步,配起来当然轻车熟路,但想到如何在主库挂掉,从库接管后,以最快的速度恢复数据,并让主库重新接管,
最近一个项目需要做一个mysql+keepalived高可用主从同步,配起来当然轻车熟路,但想到如何在主库挂掉,从库接管后,以最快的速度恢复数据,并让主库重新接管,所以整理了下思路,编写了如下脚本,供大家参考

mysql主从,以及keepalived高可用配置本博传送门:

http://showerlee.blog.51cto.com/2047005/1220801

http://showerlee.blog.51cto.com/2047005/1188549

一.备份从库当前数据库

注:以下的所有配置需要在数据库未运转状态下进行,建议做一个iptables规则禁止非管理员IP访问主从服务器IP,以及VIP,这样既能保证管理员可SSH远程登陆配置,又能恢复主从环境,待配置完成后解除禁止即可。

# vi /etc/rc.d/mysql_bak.sh

-------------------------

#!/bin/bash

# 环境变量

PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH

export LANG=C

# 日常备份目录

basedir=/backup/daily/

# 数据库账户

user=root

passwd=123456

# mysql备份目录

mysql_db_bak=$basedir/$(date +%F_%H%M)

[ ! -d "$mysql_db_bak" ] && mkdir -p $mysql_db_bak

# mysql下所有库名称

db_name=("information_schema" "mysql" "test_db1" "test_db2" "test_db3" "test_db4")

# 1.备份MySQL数据库

for((i=0; i!=${#db_name[@]}; ++i))

{

mysqldump -u $user -p$passwd --opt --skip-lock-tables --flush-logs --database ${db_name[i]} > $mysql_db_bak/${db_name[i]}.sql

}

-------------------------

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读