备份MySQL数据库并以其他名称还原它

时间:2011-01-31 17:24:59

标签: mysql sql database

我正在尝试对MySQL数据库数据进行一些维护,并使用备份的当前数据库创建了一个转储文件。

我想将所有数据恢复到另一个名为original_db_name_test

的数据库中

是否有命令?

4 个答案:

答案 0 :(得分:8)

这取决于您调用的方式mysqldump

如果您使用mysqldump dbname,那么您的转储既不包含CREATE DATABASE也不包含USE DATABASE

只需使用新名称创建数据库,然后将转储提供给mysql -D new_dbname

如果您使用mysqldump --database dbname,那么转储包含CREATE DATABASEUSE DATABASE语句。

您需要将其评论或替换为new_dbname

答案 1 :(得分:2)

mysql -u usernamehere -p original_db_name_test< yourdumpfilehere.sql

答案 2 :(得分:1)

如果您使用mysqldump创建转储文件,只需:

  1. 创建一个新数据库(使用mysqladmin命令行工具 - "mysqladmin create [new database name]“)。

  2. 编辑转储文件,在顶部添加“USE [new database name];”。 (可能是已注释掉的现有用法语句,因此您可以对其进行更改并取消注释。)

  3. 通过“mysql -u <user name> -p < [dump file name]”将转储导入新表。

  4. 顺便提一下,当通过mysqldump创建转储时,我很想使用“--add-drop-table”选项,因为这会在发出表创建语句之前剔除任何具有相同名称的现有表。

答案 3 :(得分:0)

你可以使用'MySQL Workbench'应用程序,并使用一个很好的gui