转储数据库时为空文件

时间:2019-09-06 09:45:10

标签: mysql database windows scripting dump

我正在尝试在Windows Server 2012 R2上进行数据库转储备份,允许我将数据库中的每个表转储到每个单独的文件中。

我创建了包含以下脚本的daily_dump.bat;

mkdir C:\Users\Administrador\Desktop\Dump%Date:~6,4%%Date:~3,2%%Date:~0,2%
mysql.exe -u root --password=MyPassword -s -N -e "SELECT table_name, table_schema AS database_name FROM information_schema.tables WHERE table_type = 'BASE TABLE' AND table_schema NOT IN ('information_schema' , 'mysql', 'performance_schema', 'sys') ORDER BY database_name , table_name;" | for /F "usebackq" %%D in (`findstr /V "table_name"`) do mysqldump %%D -u root --password=MyPassword > C:\Users\Administrador\Desktop\Dump%Date:~6,4%%Date:~3,2%%Date:~0,2%\%%D_%Date:~6,4%%Date:~3,2%%Date:~0,2%.sql
pause

好吧,似乎工作正常,每个表都有一个file.sql,但是转储的文件为空。

编辑:文件大小始终为1KB,其中包含该文本:

-- MySQL dump 10.13  Distrib 5.7.23, for Win32 (AMD64)
--
-- Host: localhost    Database: users_documents
-- ------------------------------------------------------
-- Server version   5.5.5-10.3.9-MariaDB

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

编辑:这是我初始化脚本的dump.bat文件。

有什么主意吗?谢谢!

0 个答案:

没有答案