先修改脚本进行必要的配置,然后以root用户执行.

1. 第一执行远程备份时先用 first参数.

2. 本地备份用local参数

3. 远程备份不用参数

注意:需要在另一主机上的Mysql用户用添加用户..

需要配置的地方:

# define host and mysql password

REMOTE_HOST="" #远程主机名或IP

REMOTE_PASSWORD="" #远程主机的mysql中的root@本地主机 密码.

# define database path

DB_PATH="/var/lib/mysql" #本地mysql数据库路径

LOCAL_PASSWORD="" #本地mysql root用户密码

DB_BACKUP_PATH="/root/db_bk" #本地备份时数据保存的路径

NO_BACKUP_DB="" 设置本地数据库中不想备份的数据库名,用空格隔开

直接下载

#!/bin/sh

# mysqldump_all.sh

# this scripts is used to backup MySQL database bettwen tow MySQL SERVER!

# define host and mysql password

REMOTE_HOST=""

REMOTE_PASSWORD=""

# define database path

DB_PATH="/var/lib/mysql"

LOCAL_PASSWORD=""

DB_BACKUP_PATH="/root/db_bk"

# define which database no back up, write db anme escap whit space!

# example;

# NO_BACKUP_DB="yns test ps_note"

# this said that if db name is "yns" or "test" or "ps_note", then not backup them!

NO_BACKUP_DB=""

# get the database name and process one by one

echo "Start to Backup...";

#ls /var/lib/mysql > /tmp/mydb.all

if [ "$1" != "help" ]; then

for db in `ls $DB_PATH`; do

if_backup="1"

if [ -d $DB_PATH/$db ] ; then

for noBackDB in $NO_BACKUP_DB ; do

if ( test "$db" = "$noBackDB" ); then

#echo -n "...";

if_backup="";

fi

done

if [ $if_backup ]; then

case "$1" in

first)

echo -n "Crate db [ $db ] on $REMOTE_HOST first!"

result=`mysqladmin -h $REMOTE_HOST --password=$REMOTE_PASSWORD create $db`

if [ ! $result ]; then

echo "...Done!";

else

echo "...Fialed! check your configure plz!";

echo "Remote host said: $result";

exit

fi

;;

local)

# back up to localhost dir.

if [ ! -d $DB_BACKUP_PATH ]; then

mkdir $DB_BACKUP_PATH

fi

echo -n "[ $db ]....Backup to local$DB_BACKUP_PATH with gzip";

if [ -e "$DB_BACKUP_PATH/$db.gz" ]; then

mv $DB_BACKUP_PATH/$db.gz $DB_BACKUP_PATH/$db.1.gz;

fi

mysqldump --password=Walte#Ming $db | gzip > $DB_BACKUP_PATH/$db.gz

echo "...[OK]"

;;

*)

# Do common Backup!

echo -n "[ $db ]...Do Backup! ====>> $REMOTE_HOST/$db";

mysqldump --add-drop-table $db --password=$LOCAL_PASSWORD | mysql -h $REMOTE_HOST --password=$REMOTE_PASSWORD $db

echo "....[OK]";

esac

else

echo "[ $db ]";

echo "***This database set to Not backup!...Operation CANCELED!";

fi

else

echo "[ $db ]";

echo "***Warning! Not a DataBbase. Backup Canceled***";

fi

done

else

echo "Usage: mysqldupm_all.sh [firs|local|help]";

echo "Some question ask for href="mailto:walteyh@sohu.com";">walteyh@sohu.com";

fi

# Ended all backup opretion!

echo "";

echo "Note: if there is come wrong message white MySQL, you should check yourconfigure first!";

exit

mysql数据库相互备份_MySQL的本地备份和双机相互备份脚本相关推荐

  1. 本地 mysql 数据库 上线 服务器_MySQL把本地数据库上传到服务器

    1.安装Navicat 虽然这个软件是收费的,但是给了20天试用期,所以可以放心大胆的用正版,毕竟,上传数据库这种事儿,只在项目上线部署的时候用一次,20天怎么也够用了. 2.建立连接 1.先新建连接 ...

  2. mysql定时自动备份数据库(远程备份到window本地、在linux服务器备份)

    我们都知道数据是无价,如果不对数据进行备份,相当是让数据在裸跑,一旦服务器出问题,你懂得. 下面将介绍mysql数据库的自动备份,大家可根据情况自行选择将备份数据存放在哪里. 第一种,备份在服务器本地 ...

  3. 备份mysql数据库攻略_mysql备份实例攻略

    本文系统Centos6.0 首先普及下备份术语:热备份:读.写不受影响: 温备份:仅可以执行读操作: 冷备份:离线备份:读.写操作均中止: 我们备份,一般备份以下几个部分: 1.数据文件 2.日志文件 ...

  4. mysql数据库恢复策略_MySQL 备份和恢复策略(一)

    在数据库表丢失或损坏的情况下,备份你的数据库是很重要的.如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态.本文主要对MyISAM表做备份恢复. 备份策略一:直接拷贝数据 ...

  5. mysql数据库咋还原_mysql数据库备份和还原

    一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...

  6. mysql数据库增量复制_mysql数据库增量备份

    增量备份 增量备份是由一个二进制日志mysqlbinlog实现的,该日志有一旦开启后,用户的每条语句除了select,都会被记录在该日志当中,. 一.开启该日志: #vim /etc/my.cnf m ...

  7. mysql数据库文件移机_MySQL简易备份方法

    四.MySQL线上备份 使用像上面的"档案"方式备份是个不错的方法,它最少可以保持该主机某个时间点的完整档案备份,但还是有一些问题需要考虑到,有些主机就不只建立一个 DB 而已, ...

  8. mysql 双机备份_MySQL的高可用之-双机热备份

    MySQL的高可用 1.MySQL数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题.还好MySQL数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中.实 ...

  9. mysql数据库查询缓存_MySQL查询缓存与数据库管理

    MySQL查询缓存与数据库管理 上一篇 / 下一篇  2010-01-25 21:51:07 / 个人分类:MYSQL/Cache MySQL查询缓存 注意:查询缓存绝不返回过期数据. 如果一个表发生 ...

最新文章

  1. groovy–运算符重载
  2. 哈工大推智能荐股,能让你稳赚不赔吗?
  3. Python2代码转换成Python3代码
  4. android layout的一些注意事项
  5. Jetson TX1使用usb camera采集图像 (1)
  6. Tomcat源码分析--转
  7. 项目管理课件_项目管理(PMO)工作到底干些啥?
  8. 基于Http替补新闻WebService数据交换
  9. 设计模式(一)预备知识
  10. iOS CAGradientLayer颜色渐变
  11. android gradle错误,Android studio gradle错误与顶级异常
  12. luogu P5338 [TJOI2019]甲苯先生的滚榜
  13. ASP.NET本质论阅读----应用程序对象
  14. 组装计算机主机心得体会,关于组装电脑的一些总结
  15. 页面上拖动图片进行排序
  16. python控制浏览器最小化_如何在selenium webdriver 3中最小化浏览器窗口
  17. 海康威视硬盘录像机怎么连接萤石云
  18. 屏蔽网页所有弹出广告的神器工具!Adblock插件
  19. 《windows 鼠标指针文件 学习笔记》
  20. pixhawk硬件设计粗略解析

热门文章

  1. jaVa游戏三国志英杰传,《三国志英杰传》到底是怎样的一款游戏
  2. 【卷积码系列3】(n,k,m)卷积码的维特比译码实现(不使用MATLAB库函数)及性能对比(vitdec函数-代码见CSDN同名资源)
  3. java单链表 提供增删改查_java实现单链表增删改查的实例代码详解
  4. 6号板编译失败找不到arm-none-linux-gnueabi-gcc
  5. 转帖 IBM要推POWER9,来了解一下POWER处理器的前世今生
  6. python之路_前端基础之Bootstrap 组件
  7. (转)搞定DC/DC电源转换方案设计,必看金律十一条
  8. Asp.Net基础 - 9.Web开发原则
  9. Hadoop namenode启动瓶颈分析
  10. Pytorch 加载预训练模型参数时出现size mismatch错误