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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java使用GSON对JSON进行解析——IDEA引入jar包方式

GSON GSON是Google公司开发的用于解析json的类库。可以很轻松地让程序员将java对象转换成JSON格式&#xff0c;或者将JSON格式的对象转换成Java对象。 使用方法很简单&#xff1a; 首先&#xff0c;需要将GSON类库的jar包引入到自己的IDE中&#xff0c;本教程使用IDEA为例子…

mysql查询姓王的信息代码_MySQL查询语句练习题

1.创建student和score表CREATE TABLE student (id INT(10) NOT NULL UNIQUE PRIMARY KEY ,name VARCHAR(20) NOT NULL ,sex VARCHAR(4) ,birth YEAR,department VARCHAR(20) ,address VARCHAR(50));创建score表。SQL代码如下&#xff1a;CREATE TABLE score (i…

IoT -- (四) 物联网系统架构介绍

物联网系统框架介绍 下面将谈到几个关键问题&#xff1a; 设备如何接入网络&#xff1f;设备间如何通信&#xff1f;物联网数据的用途?如何搭建起一个物联网系统框架呢&#xff1f;它的技术架构又是怎么样呢&#xff1f;物联网终端软件系统架构&#xff1f;物联网云平台系统…

mysql 删除not null_从MySQL的列中删除NOT NULL限制?

要从MySQL的列中删除NOT NULL限制&#xff0c;请使用ALTER命令。语法如下&#xff1a;ALTER TABLE yourTableName MODIFY COLUMN yourColumnName dataType;为了理解上述语法&#xff0c;让我们创建一个表。创建表的查询如下&#xff1a;mysql> create table NotNullDemo->…

IoT -- (五) IoT都有哪些通信协议

IOT都有哪些通信协议&#xff1f; 在物联网协议中&#xff0c;我们一般分为两大类&#xff0c;一类是传输协议&#xff0c;一类是通信协议。那么&#xff0c;物联网都有哪些通信协议呢? 在物联网协议中&#xff0c;我们一般分为两大类&#xff0c;一类是传输协议&#xff0c…

IoT -- (六) MQTT和CoAP对比分析

IoT物联网需要标准协议&#xff0c;针对小设备最有前景的两种是MQTT和CoAP。 MQTT和CoAP两者均&#xff1a; 开放标准&#xff1b; 比HTTP更适合于受限环境&#xff1b; 提供异步传输机制&#xff1b; 在IP上运行&#xff1b; 有很多种实现 MQTT在传输模式上更为灵活&am…

mysql5.7.19不好用_Mysql 5.7.19 免安装版遇到的坑(收藏)

1、从官网下载64位zip文件。2、把zip解压到一个位置&#xff0c;此位置为安装为安装位置3、如果有以前的mysql 如果是install的&#xff0c;去控制面板卸载&#xff0c;还需要删除以前mysql留下来的残留文件。如果是免安装的&#xff0c;用mysqld -remove命令删除 &#xff0c;…

IoT -- (八)MQTT优缺点

物联网并不仅仅是一种网络&#xff0c;而是一个新的生态环境&#xff0c;它描述的本质是越来越多的使用物品通过网络连接在一起并可使用单个或者多个的终端设备对它们进行各种控制和使用—当然&#xff0c;工业上的物联网通常连接到的石鼓传感器或者其他数据采集仪器以及行为单…

mysql 平滑扩容_数据库秒级平滑扩容架构方案

一、缘起(1)并发量大&#xff0c;流量大的互联网架构&#xff0c;一般来说&#xff0c;数据库上层都有一个服务层&#xff0c;服务层记录了“业务库名”与“数据库实例”的映射关系&#xff0c;通过数据库连接池向数据库路由sql语句以执行&#xff1a;如上图&#xff1a;服务层…

IoT -- (九) IoT通讯技术选型与模型设计

IoT时代的无线通讯技术 “世界上最遥远的距离就是没有网络”&#xff0c;网络通讯是IoT的基础&#xff0c;常见的无线网络通讯技术有&#xff1a;WiFi、NFC、ZigBee、Bluetooth、WWAN&#xff08;Wireless Wide Area Network&#xff0c;包括GPRS、3G、4G、5G等&#xff09;、…

SSM中PageHelper的使用步骤与com.github.pagehelper.PageHelper3系列与5系列的区别

SSM中PageHelper的使用步骤 一. 在pom.xml导入依赖 <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.1.2</version></dependency>二. 交给IOC管理 在SqlSessionFactory…

mysql修改数据库级别_设置数据库兼容级别的两种方法

兼容级别设置为 80 兼容级别设置为 90 影响的可能性对于 FROM 子句中的锁提示&#xff0c;WITH 关键字始终是可选的。但在一些例外情况中&#xff0c;仅当用 WITH 关键字指定表提示时&#xff0c;FROM 子句中才支持这些提示。有关详细信息&#xff0c;请参阅 FROM (Transact-SQ…

Github PageHelper 原理解析

任何服务对数据库的日常操作&#xff0c;都离不开增删改查。如果一次查询的纪录很多&#xff0c;那我们必须采用分页的方式。对于一个Springboot项目&#xff0c;访问和查询MySQL数据库&#xff0c;持久化框架可以使用MyBatis&#xff0c;分页工具可以使用github的 PageHelper。…

Springboot Mybatis使用PageHelper实现分页查询

以下介绍实战中数据库框架使用的是mybatis&#xff0c;对整合mybatis此处不做介绍。 使用pageHelper实现分页查询其实非常简单&#xff0c;共两步&#xff1a; 一、导入依赖&#xff1b; pom.xml添加依赖&#xff1a; <!--分页插件 pagehelper --> <dependency>…

mysql 与 xls 连接_数据库MySQL与xls文件的互导

最近的一个项目需要将xls表导入到MySQL数据库中和将MySQL数据表导出到xls表中&#xff0c;在网上搜了很多资料&#xff0c;经过多次尝试终于实现了功能&#xff0c;废话不多说&#xff0c;在这粘贴出代码&#xff0c;希望可以帮到需要的朋友。一、将.xls表导入到MySQL数据表中。…

Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例

如何用一条sql语句实现批量更新&#xff1f;mysql并没有提供直接的方法来实现批量更新&#xff0c;但是可以用点小技巧来实现。 代码如下: UPDATE mytable SET myfield CASE id WHEN 1 THEN valueWHEN 2 THEN valueWHEN 3 THEN value END WHERE id IN (1,2,3);这里使用了c…

MySQL可运行在不同的操作系统下_不同操作系统下的mysql数据库同步

当数据库的数据量读写频繁的时候&#xff0c;我们就要考虑把数据库的读写分开&#xff0c;以提高数据库的使用效率&#xff0c;(当然还有其他用处比如&#xff0c;备份数据)&#xff0c;这个时候我们就要用到mysql的一个功能&#xff0c;数据库同步。下面就具体讲一下实现方法。…

@RequestBody和@RequestParam区别

一&#xff1a;RequestBody和RequestParam区别 RequestParam 用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容。&#xff08;Http协议中&#xff0c;如果不指定Content-Type&#xff0c;则默认传递的参数就是application/x-www-form-urlencoded类型&am…

mysql内置加密函数_MySQL数据库内置加密函数总结

首先&#xff0c;我认识的加密函数有以下几个&#xff1a;password(plainText)&#xff1a;旧版(OLD_PASSWORD())加密后长度16位&#xff0c;新版41位select length(password("123456"))可以用来查看加密后的字符串的长度。这种加密方法依赖数据库&#xff0c;需要保…

Query String Parameters、Form Data、Request Payload的区别

Query String Parameters 当发起一次GET请求时&#xff0c;参数会以url string的形式进行传递。即?后的字符串则为其请求参数&#xff0c;并以&作为分隔符。 如下http请求报文头&#xff1a; GeneralRequest URL: http://login?unamedingdingRequest Method: GETQuery…