将mysql数据库备份到自包含文件中

时间:2015-06-11 08:46:34

标签: mysql mysql-workbench

我有一个带有Mysql的linux系统包含400多个数据库,我需要将每个数据库导出为一个mysql_dump文件。是否可以使用Mysqlworkbenchmysql_dump执行此操作

我已尝试--all-databases NAME = libfts.a SRC_ASM = file1.s \ file2.s \ file3.s \ OBJ_ASM = $(SRC_ASM:.s=.o) FLAGS = -Wall -Werror -Wextra NASM = nasm AR = ar RANLIB = ranlib ASM_FLAGS = -f macho64 all : $(NAME) $(NAME): $(OBJ_ASM) $(AR) rc $(NAME) $(OBJ_ASM) $(RANLIB) $(NAME) %.o : %.s $(NASM) $(ASM_FLAGS) -o $@ $< fclean : clean rm -f libfts.a re : fclean all .PHONY: clean fclean re 选项。但是这会生成一个包含所有数据库的文件。它的大小很大。

1 个答案:

答案 0 :(得分:1)

实现此目的的一种方法是编写一个bash脚本:this

#! /bin/bash

TIMESTAMP=$(date +"%F")
BACKUP_DIR="/backup/$TIMESTAMP"
MYSQL_USER="backup"
MYSQL=/usr/bin/mysql
MYSQL_PASSWORD="password"
MYSQLDUMP=/usr/bin/mysqldump

mkdir -p "$BACKUP_DIR/mysql"

databases=`$MYSQL --user=$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)"`

for db in $databases; do
  $MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --databases $db | gzip > "$BACKUP_DIR/mysql/$db.gz"
done

有关详细信息,请查看http://scipy-lectures.github.io/advanced/sympy.html类似问题。