我使用以下命令转储了我的数据库:

mysqldump -uuser -ppassword db_name > file

然后我完全删除了我的数据库:

drop database db_name;

然后我创建了一个新数据库:

create database db_name;

然后,我try 使用以下命令恢复数据库:

mysqldump -uuser -ppassword db_name < file

问题是,转储不会创建表并在其中加载数据,因此数据库仍然为空,但是它会显示一条消息,如"DATE TIME"转储已完成"DATE TIME"

这可能是什么原因?

推荐答案

mysqldump用于转储数据库.您已经创建了一个新的空数据库,然后转储了该空数据库.改用mysql来重新加载您的转储文件

mysqldump db > dump.sql
mysql drop/create
mysql db < dump.sql

将是基本的命令序列.

Database相关问答推荐

网络分区恢复后副本的更新数据发生了什么

如何在 N1QL 查询(Couchbase 查询)中使用 LENGTH() 字符串函数

MySQL FIND_IN_SET 的对面

动态数据模型

PostgreSQL 嵌套 INSERTs / WITHs 用于外键插入

Android SQLiteno such table异常

估计数据库大小

MongoDB 单文档大小限制为 16MB

使用 Java 对 mysql 数据库进行简单备份和恢复

阿拉伯字符串上的 WHERE 子句匹配问题

基于邮政编码的纬度和经度

在 PostgreSQL 触发函数中使用 pg_notify

在迁移中添加行

使用 java 查询 MySQL 数据库

使用存储过程是一种不好的做法吗?

postgresql 在 where 子句中使用 json 子元素

在 iphone 上本地存储数据

传递依赖有什么问题?

MySQL 从一个数据库插入另一个数据库

使用 oracle sql developer 从一个数据库复制到另一个数据库 - 连接失败