一个手动备份MySQL数据库的脚本

Posted 郭延龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个手动备份MySQL数据库的脚本相关的知识,希望对你有一定的参考价值。

#!/bin/bash
username=root
hostname=localhost
password=root
mysql -u$username -h$hostname -p$password -e "show databases"
read -p "PLZ input a dbname:" dbname
read -p "PLZ input backupdir:" backupdir
read -p "PLZ input backupname:" backupname
  if [[ "$dbname" == "quit" || "$backupdir" == "quit" || "$backupname" == "quit" ]];then
       exit 4
  else
   echo "----------backup start----------"
    ! [ -d $backupdir ] && mkdir -p $backupdir
    if [[ "$dbname" == "all" ]];then
       /usr/local/mysql/bin/mysqldump -u$username -h$hostname -p$password --all-databases --lock-all-tables --flush-logs --master-data=2 >> $backupdir/$backupname 
    else
      /usr/local/mysql/bin/mysqldump -u$username -h$hostname -p$password --databases $dbname --lock-all-tables --flush-logs --master-data=2 >> $backupdir/$backupname 
    fi 
    if [ $? -eq 0 ];then
        echo "---------backup OK-------"
        echo "---------backup stop-------"
     else
        echo "-------back lose--------"
        exit
     fi
  fi

  使用脚本时需要先修改脚本内数据库信息,赋予执行权限。

以上是关于一个手动备份MySQL数据库的脚本的主要内容,如果未能解决你的问题,请参考以下文章

一个备份MySQL数据库的简单Shell脚本

mysql数据库备份和还原

Bash脚本手动运行,但在crontab上失败

怎么备份和还原mysql数据库

Bash 脚本手动运行,但在 crontab 上失败

MySQL自动备份和下载备份到指定位置