linux mysql 备份脚本_linux 之mysql备份脚本
#date 2020.2.20
#author zhang
#描述 用户自己选择使用什么工具进行备份
#$1 账户; $2 密码 $3 地址
stty erase "^H"
[ -f /etc/init.d/functions ] && . /etc/init.d/functions
#备份文件夹路径
backup_path="/usr/local/src/backup_mysql"
[ -d $backup_path ] && echo "$backup_path is exist" || mkdir -p $backup_path
# mysqldump
fun_mysqldump(){
mysqldump_cmd="mysqldump"
if [ "$passwd" != "null" ];then
${mysqldump_cmd} -u$user -p$passwd -h$host -A -F -E -R --master-data=1 --flush-privileges --triggers --default-character-set=utf8 --hex-blob > $backup_path/$backup_file
else
${mysqldump_cmd} -u$user -h$host -A -F -E -R --master-data=1 --flush-privileges --triggers --default-character-set=utf8 --hex-blob > $backup_path/$backup_file
fi
[ $? -eq 0 ] && action " backup successful ,please cat \n $backup_path\/$backup_file" /bin/true || action "mysql backup is failed " /bin/false
exit 0
}
test_connect_mysql(){
if [ "$2" != "null" ];then
if `mysql -u"$1" -p"$2" -h"$3" -e "show databases;" &> /dev/null`;then
user=$1
passwd=$2
host=$3
else
echo "connection is lose,please check user,passd or host" && exit 3
fi
else
if `mysql -u "$1" -h"$3" -e "show databases;" &>/dev/null`;then
user=$1
host=$3
else
echo "connection is lose, check your user or host" && exit 3
fi
fi
}
#设置 $1 $2 $3
set_user_pass_host(){
[ "$1" != "" ] && user=$user || user="root";
[ "$2" != "" ] && passwd=$passwd || passwd="null";
[ "$3" != "" ] && host=$host || host="127.0.0.1";
}
input_user_pass_host(){
read -p "input the user:" user
read -p "input the passwd:" passwd
read -p "input host(default 127.0.0.1):" host
}
#xtrabackup
fun_xtrabackup(){
[ ! -e `whereis xtrabackup &> /dev/null` ] && yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm -y;yum install percona-xtrabackup -y &> /dev/null
if [ "$passwd" != "null" ];then
xtrabackup --user=$1 --password=$2 --host=$3 --backup --target-dir=$4 &> /dev/null
else
xtrabackup --user=$1 --host=$3 --backup --target-dir=$4 &> /dev/null
fi
[ $? -eq 0 ] && action "xtrabackup completed OK!" /bin/true || action "xtrabackup completed failed" /bin/false
exit
}
while true
do
cat << EOF
please input a number choose backup tools
1 mysqldump
2 xtrabackup
3 quit
EOF
read -p "you select:" select_id
case $select_id in
1)
input_user_pass_host
set_user_pass_host $user $passwd $host
if test_connect_mysql $user $passwd $host;then
read -p "please input mysql backup file name (default backup.all.sql):" backup_file
if [ "$backup_file" = "" ] ;then
backup_file="backup.all.sql"
fi
fun_mysqldump $user $passwd $host $backup_path/$backup_file
fi
;;
2)
input_user_pass_host
set_user_pass_host $user $passwd $host
if test_connect_mysql $user $passwd $host;then
read -p "please input target-dir (default $backup_path/):" target_dir
if [ "$target_dir" = "" ];then
fun_xtrabackup $user $passwd $host $backup_path
else
mkdir $target_dir -p
fun_xtrabackup $user $passwd $host $target_dir
fi
fi
;;
3)
echo "exit" && exit 6
;;
*)
echo "is error" && exit 7
;;
esac
done
linux mysql 备份脚本_linux 之mysql备份脚本相关推荐
- linux mysql 备份脚本_linux下mysql备份脚本
#!/bin/bash #功能说明:本功能用于备份 #编写日期:2018/07/05 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/lo ...
- datetime报错 sql脚本_Linux中Mysql数据库备份shell脚本编写实例
学了段时间的Linux,也学习了shell脚本编写的基本命令与语法,现做一个综合案例来详细讲解. 要求:1).每天凌晨备份数据库shaoxiao到/data/backup/db中 2).备份开始和备份 ...
- centos mysql gz恢复_Linux下mysql备份 恢复
数据库备份是非常重要的.如果定期做好备份,这样就可以在发生系统崩溃时恢复数据到最后一次正常的状态,把损失减小到最少. 一. 用命令实现备份 MySQLl提供了一个mysqldump命令,我们可以用它进 ...
- linux mysql 装哪里_linux 下 mysql 安装目录在哪里
linux 下 mysql 安装目录在哪里.linux mysql 安装介绍: linux 服务器 RedHat 5.0.server. MySQL 版本: 下载地址链接:http://dev.mys ...
- linux与mysql的关系_linux系统mysql简介
linux系统mysql初始 初级:1.mysql安装 中级:数据库管理员DBA 1) 用户管理 1.用户权限的管理 2.管理可以操作库和表 3.用户名 4.管理来源IP 5.用户的密码 grant ...
- linux mysql dump命令_linux下mysql命令
1.linux下启动mysql的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: mys ...
- linux下数据库mysql命令大全_linux中mysql数据库操作命令大全有哪些
Linux中经常会对数据库进行操作,除了在软件应用中操作,还能使用命令实现,具体有哪些命令呢?下面由学习啦小编为大家整理了linux重启mysql数据库命令的相关知识,希望对大家有帮助! linux中 ...
- linux下mysql目录结构_linux下mysql安装配置与目录结构
本节内容: linux下mysql安装与配置.mysql目录结构. 1.准备安装程序(官方网站下载) 服务端:MySQL-server-community-5.1.44-1.rhel4.i386.rp ...
- linux上mysql卸数_Linux下MySQL卸载和安装图文教程
Linux下MySQL卸载和安装图文教程 发布时间:2020-09-02 08:43:17 来源:脚本之家 阅读:59 作者:伊宇紫 第一次写博客,做了两年的开发,工作之余给自己找点有意义的事做,分享 ...
- linux重启下mysql数据库命令_linux重启mysql数据库命令
Linux中难免会对数据库进行操作,下面由学习啦小编为大家整理了linux重启mysql数据库命令的相关知识,希望对大家有帮助! linux重启mysql数据库命令1.使用 service 启动 se ...
最新文章
- 架构演进之「微服务架构」
- WinCE 和Win Mobile的关系
- malloc函数具体解释
- 基于MATLAB的dijkstra算法及其应用
- 笔记-项目质量管理-七种基本质量工具
- 区分:AndroidDriver, iOSDriver, AppiumDriver and Remote WebDriver
- python生成随机骨料模型代码_Abaqus Python脚本-3D随机球形骨料的生成
- 使用Axios拦截器打印前端请求日志和后端后返回日志
- MFC 文档 视图 框架窗口间的关系 和消息传送规律
- python执行adb命令_Python脚本之ADB命令(一)
- 油气田开发之油气水井维护性修井作业
- 浏览器Browser截屏截长图使用记录220813
- excel图片根据表格内容动态变化
- 第五章 动态规划法(必做题)
- NKOJ 1361 帮帮吉米(Help Jimmy)
- 解决windows10 时间轴灰色的活动历史记录无法删除的问题
- 微信 checkbox修改样式
- webshell 提权
- openstack 逻辑构架真相
- H5端 调起WhatsApp选择联系人以及给固定联系人进行内容分享
热门文章
- mc有什么红石机器人_我的世界10月考试!来测测你的MC成绩吧~
- 华为鸿蒙系统正式登场,华为自研鸿蒙系统将于8月9日正式登场,还有全新的鸿鹄芯片...
- java setsize_Java Vector setSize()方法与示例
- 2万字长文包教包会 JVM 内存结构
- 万字详解Lambda、Stream和日期
- List 集合去重的 3 种方法
- C#调用Couchbase中的Memcached缓存
- Bootstrap 幻灯片效果
- C#调试WebService
- 动环监控系统接线图_机房动环监控系统报价