我正在尝试对MySQL数据库数据进行一些维护,并使用备份的当前数据库创建了一个转储文件。
我想将所有数据恢复到另一个名为original_db_name_test
的数据库中是否有命令?
答案 0 :(得分:8)
这取决于您调用的方式mysqldump
如果您使用mysqldump dbname
,那么您的转储既不包含CREATE DATABASE
也不包含USE DATABASE
。
只需使用新名称创建数据库,然后将转储提供给mysql -D new_dbname
。
如果您使用mysqldump --database dbname
,那么转储包含CREATE DATABASE
和USE DATABASE
语句。
您需要将其评论或替换为new_dbname
。
答案 1 :(得分:2)
mysql -u usernamehere -p original_db_name_test< yourdumpfilehere.sql
答案 2 :(得分:1)
如果您使用mysqldump创建转储文件,只需:
创建一个新数据库(使用mysqladmin命令行工具 - "mysqladmin create [new database name]
“)。
编辑转储文件,在顶部添加“USE [new database name];
”。 (可能是已注释掉的现有用法语句,因此您可以对其进行更改并取消注释。)
通过“mysql -u <user name> -p < [dump file name]
”将转储导入新表。
顺便提一下,当通过mysqldump创建转储时,我很想使用“--add-drop-table”选项,因为这会在发出表创建语句之前剔除任何具有相同名称的现有表。
答案 3 :(得分:0)
你可以使用'MySQL Workbench'应用程序,并使用一个很好的gui