如何导入一个MySQL从重写命令行转储(How to import a MySQL dump fro

2019-08-01 01:52发布

我GOOGLE了很多,我无法找到任何关于它!

[root@someday backups]# mysql -u username_1 -p db_1 < tables_to_import/tables.sql 
ERROR 1050 (42S01) at line 19: Table 'ps_customer' already exists

mysql -f是一样的。 我想简单地导入的.sql和重写表,有人可以帮我吗?

附言:我知道,当你导出数据库,你可以选择选项“DROP TABLE”,但如果我有一个备份,如果没有这个声明? 我怎么能强迫? 谢谢

Answer 1:

你们是不是要覆盖数据库的全部? 如果是这样,你可以手动删除所有的表,然后运行导入脚本。 这是很容易在phpMyAdmin做。 如果您正在使用CLI,最快的方式是使用DROP DATABASE databasename ,然后create database ,但我认为,你将不得不重新发放任何非root用户权限。

另一种选择是打开你的转储文件,并添加DROP TABLE tablename各CREATE TABLE命令之前。 你很可能有一些聪明的正则表达式做到这一点很容易。



Answer 2:

当你这样做的mysqldump添加--add-drop-table在(如twihoX提到)。 然后做你的进口如常。 因此,像:

mysqldump --add-drop-table -u user -p > dumpfile.sql

mysql -u user -p < dumpfile.sql 


Answer 3:

我建议--add-drop-table在选项。



文章来源: How to import a MySQL dump from command line WITH overwrite