广告
返回顶部
首页 > 资讯 > 数据库 >mysql数据库备份与恢复脚本
  • 942
分享到

mysql数据库备份与恢复脚本

2024-04-02 19:04:59 942人浏览 八月长安
摘要

#!/bin/bash#Mysql database backup and restore the script# define config variablehost=localhostuser=root

#!/bin/bash

#Mysql database backup and restore the script


# define config variable

host=localhost

user=root

passwd=xxxxx

#this variable for grant

mainHostIp="127.0.0.1"

base_path=/opt/disk-WEBData/mysqlBackup

# base_path=/media/sf_website/yii/disk-webData/mysqlBackup



### backup

backupdb() {


  bak_path=$base_path/$(date +%Y%m%d)/data

  log_path=$base_path/$(date +%Y%m%d)/log


  [ ! -d $bak_path ] && mkdir -p $bak_path

  [ ! -d $log_path ] && mkdir -p $log_path


  dblist=($(mysql -u$user -p$passwd -e "show databases;"|awk -F "|" '{print $1}'|grep -Ev "Database|mysql|infORMation_schema|performance_schema"))


  i=1

  for dbname in "${dblist[@]}"

  do

    echo -e "\n$i --> Backup database $dbname ..."

    file=$bak_path/"$dbname.sql"

    mysqldump -h$host -u$user -p$passwd -B $dbname > $file

    if [ -f $file ];then

      success="$i --> $dbname backup success!"

      echo $success;

      echo $success >> $log_path/backupLog.log

      echo "GRANT ALL PRIVILEGES ON $dbname.* TO admin@localhost;" >> $log_path/grant.log

      echo "GRANT ALL PRIVILEGES ON $dbname.* TO admin@$mainHostIp;" >> $log_path/grant.log

    fi

    let i++

  done


}



#restore

expr 1 + $1 &>/dev/null

if [ $? -eq 0 ];then


  bak_path="$base_path"/$1/data

  log_path="$base_path"/$1/log


  #restore

  cd $bak_path

  dblist=($(ls))

  i=1

  for dbname in "${dblist[@]}"

  do

    echo -e "\n$i --> Restore database $dbname ..."

    mysql -h$host -u$user -p$passwd < $dbname

    success="$i --> $dbname restore success!"

    echo $success

    echo $success >> $log_path/restoreLog.log

    let i++

  done


  #grant

  # if [ -f $log_path/grant.log ];then

    echo "Please ensure that [admin] user exist @[localhost & 127.0.0.1 & mainHostIp]";

    sleep 15s

    ii=1

    cat $log_path/grant.log | while read line

    do

      echo "$ii --> $line"

      mysql -h$host -u$user -p$passwd -e "$line"

      let ii++

    done

  # fi



elif [ "$1" == backup ];then


  backupdb


else


  cd $base_path

  dblist=($(ls))

  i=1;

  echo "Backup history ..."

  for dbname in "${dblist[@]}"

  do

    echo "$i --> $dbname"

    let i++

  done


fi


您可能感兴趣的文档:

--结束END--

本文标题: mysql数据库备份与恢复脚本

本文链接: https://www.lsjlt.com/news/45704.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql数据库备份与恢复脚本
    #!/bin/bash#mysql database backup and restore the script# define config variablehost=localhostuser=root...
    99+
    2022-10-18
  • Mysql数据库备份与恢复
    1 数据备份与恢复2 使用第三方软件进行备份1 数据备份与恢复1.1 数据备份方式物理备份:直接拷贝库或者表对应的文件。cp,tar, ...具有局限性,前提是表的存储引擎为myisam,跨平台性...
    99+
    2022-10-18
  • MySQL数据库的备份与恢复
    一、数据备份的重要性 备份的主要目的是灾难恢复。 在生产环境中,数据的安全性至关重要。 任何数据的丢失都可能产生严重的后果。 造成数据丢失的原因: 程序错误人为操作错误运算错误磁盘故障灾难(如火灾、地震)和盗窃 二、数据库备份...
    99+
    2023-10-27
    数据库
  • MySQL数据备份与恢复
        一、简介    数据在当今的互联网行业中非常重要,掌握了数据能够从中发现价值,所以数据对于公司来书再重要不过了,当我们...
    99+
    2022-10-18
  • 【MySQL】Xtrabackup备份及恢复脚本
    简介: 此备份脚本的策略是每周日和周三进去全备 其余每天增量备份。 # 备份脚本XtraBackup.sh: #!/bin/bash # filename : XtraBackup.sh # ...
    99+
    2022-10-18
  • MySQL数据库如何备份与恢复
    这篇“MySQL数据库如何备份与恢复”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQ...
    99+
    2022-10-19
  • MySQL 数据库备份脚本
    MySQL 数据库备份脚本 #!/bin/bash # 数据库连接信息 DB_HOST="127.0.0.1" DB_PORT="3306" DB_USER="root" DB_PASSWD="root" # 时间格式化,如 20...
    99+
    2015-10-18
    MySQL 数据库备份脚本
  • 数据库备份与恢复
    数据库备份与恢复 一、物理备份和逻辑备份二、mysqldump实现逻辑备份2.1 备份一个数据库2.2 备份全部数据库2.3 备份部分数据库2.4 备份部分表2.5 备份单表的部分数据2.6 排除某些表的备份2.7 只备份结构或只备...
    99+
    2023-08-18
    数据库 mysql sql
  • 《MySQL数据库》MySQL备份恢复
    前言 MySQL数据库最重要的部分就是数据,所以保证数据不被损坏尤为重要,大家都知道911事件,当时非常多的数据丢失,导致经济混乱。接下来我们就来讲讲MySQL是如何保障数据完整,应对特殊情况,如何恢复等。 备份 备份检查:保证备份没有问题...
    99+
    2016-12-27
    《MySQL数据库》MySQL备份恢复 数据库入门 数据库基础教程 数据库 mysql
  • MySQL数据库的灾难备份与恢复
         http://xiaorenwutest.blog.51cto.com         &nbs...
    99+
    2022-10-18
  • Mysql数据库的备份与恢复方法
    这篇文章主要介绍“Mysql数据库的备份与恢复方法”,在日常操作中,相信很多人在Mysql数据库的备份与恢复方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql数据库...
    99+
    2022-10-18
  • MySQL数据备份与恢复(二) -
     上一篇介绍了逻辑备份工具mysqldump,本文将通过应用更为普遍的物理备份工具xtrabackup来演示数据备份及恢复的第二篇内容。 1.  xtrabackup 工具的安装  1.1  安装依赖包 yum install...
    99+
    2018-12-27
    MySQL数据备份与恢复(二) -
  • Shell 脚本备份MySQL数据库
    (1)思路  <1>安装MySQL数据库  <2>创建数据库,表,插入数据   <3>授权一个用于备份数据库的用户名和密码&nbs...
    99+
    2022-10-18
  • MySQL数据库备份Shell脚本
    此脚本将远程主机或者本地主机上的数据库的数据备份到本地。备份MySQL数据库除了information_schema、performance_schema、mysql自带库的其他生产库。备份时将MySQL数...
    99+
    2022-10-18
  • Redis数据库备份与恢复
    Redis所有数据都是保存在内存中。下面讲述三种备份方式:1.定期地通过异步方式保存到磁盘上,该方式称为半持久化模式。1)半持久化RDB模式也是Redis备份默认方式,是通过快照完成的,当满足redis.c...
    99+
    2022-10-18
  • Sqlite—数据库备份与恢复
    数据库备份 例如:备份 /www/wwwroot 下面的 task.db 数据库 进入数据库 [root@localhost ~]# sqlite3 /www/wwwroot/task.db 备份数据库 sqlite> .output...
    99+
    2016-10-11
    Sqlite—数据库备份与恢复
  • xtrabackup2.4备份恢复脚本
    xtrabackup shell脚本:https://gitee.com/ygqygq2/mytools/tree/master/xtrabackup 1. 使用说明 此脚本基于Percona XtraBa...
    99+
    2022-10-18
  • MySQL数据库备份和恢复
    目录 MySQL数据库备份和恢复 备份恢复概述 为什么要备份 备份注意要点 还原要点 备份类型: 备...
    99+
    2015-03-06
    MySQL数据库备份和恢复
  • xtrabackup备份恢复MySQL数据库
    1. 全量备份恢复: 查看原表内容: MariaDB [(none)]> select * from testdb.students; +----+------------+------...
    99+
    2022-10-18
  • MySQL数据库全量、增量备份与恢复
    造成数据丢失的原因 程序错误 人为商店 计算机失败 磁盘失败 灾难(如火山、地震)和偷窃 数据库备份的分类 从物理与逻辑的角度,备份可分为: 物理备份:对数据库操作系统的物理文件(如数据文件、日志文...
    99+
    2015-05-05
    MySQL数据库全量 增量备份与恢复
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作