Heim >Datenbank >MySQL-Tutorial >linux备份Mysql数据库shell_MySQL

linux备份Mysql数据库shell_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-01 13:42:50950Durchsuche

bitsCN.com
欢迎拍砖,详细内容如下:  # MYSQL 数据文件路径 MYSQL_DATA_PATH="/usr/local/mysql/data/"  # 备份目录 MYSQL_DUMP_PATH="***/DB/"  # 备份用户名 MYSQL_ACCOUNT="mysql_backup"  # 备份密码 MYSQL_PASSWORD="mysql_backup"  MYSQLDUMP_OPTS="mysqldump -u$MYSQL_ACCOUNT -p$MYSQL_PASSWORD --single-transaction"  # 压缩命令  bzip2 -k 保留源文件 TAR_OPTS="bzip2 "  # 单个数据库进行备份 function BackDB(){         FULLPATH="$1"          #遍历目录         for dbName in $(/bin/ls $FULLPATH)         do                 # check is database                 fileType=`/usr/bin/file $FULLPATH$dbName | /bin/awk '{FS=":"} {printf $2}'`                  # 文件夹的类型为directory                 if [ "directory" == $fileType ]; then                         # start dump                         if [ "$dbName" == "mysql" ] /                                 || [ "$dbName" == "test" ] /                                 || [ "$dbName" == "information_schema" ] /                                 || [ "$dbName" == "performance_schema" ]; then                                 echo "------------->$dbName not need dump!!"                         else                                 echo $dbName                                   dumpName=$MYSQL_DUMP_PATH/"$dbName"_"$DATESTR"                                 $MYSQLDUMP_OPTS $dbName > "$dumpName".sql                                  # 压缩备份档                                 $TAR_OPTS "$BACKUP_NAME".sql                         fi                 else                         printf '%s is not database            ######## /n' $dbName                 fi         done }  # 每个数据表单独备份 function BackDBTB(){         FULLPATH="$1"          #遍历目录         for fName in $(/usr/bin/find $FULLPATH -name "*.ibd")         do                 dbPath=`echo "$fName" | /bin/awk 'BEGIN {FS="'$FULLPATH'"} {printf $2}'`                 # get database name                 dbName=`echo "$dbPath" | /bin/awk 'BEGIN {FS="/"} {printf $1}'`                 # get table name                 tbName=`echo "$dbPath" | /bin/awk 'BEGIN {FS="/"} {printf $2}'`                  # start dump                 if [ "$dbName" == "mysql" ]/                         || [ "$dbName" == "test" ] /                         || [ "$dbName" == "information_schema" ] /                         || [ "$dbName" == "performance_schema" ]; then                         echo "------------->$dbName not need dump!!"                 else                         echo $dbName $tbName                           dumpName=$MYSQL_DUMP_PATH/"$dbName"_"$tbName"_"$DATESTR"                         $MYSQLDUMP_OPTS $dbName $tbName > "$dumpName".sql                          # 压缩备份档                         $TAR_OPTS "$dumpName".sql                 fi         done }     作者 babaoqi bitsCN.com

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn