Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
导入mysql转储而不覆盖现有数据_Mysql_Sql_Database - Fatal编程技术网

导入mysql转储而不覆盖现有数据

导入mysql转储而不覆盖现有数据,mysql,sql,database,Mysql,Sql,Database,我不小心将mysql表中某个字段的所有记录替换为NULL,并尝试恢复备份,以便在当前表和备份之间运行更新查询。我创建了一个名为db_bckup的新数据库,将其保留为空,然后尝试从命令行导入它: mysql -u root -p db_bckup < mysqlbackupfile.sql 我怀疑sql文件中对“db”的引用正在覆盖我的命令行导入代码 我的问题是:是sql文件还是命令行导致了覆盖?如果原因是sql文件,是否需要手动编辑备份文件以将db名称更改为db_bckup,或者是否有更

我不小心将mysql表中某个字段的所有记录替换为NULL,并尝试恢复备份,以便在当前表和备份之间运行更新查询。我创建了一个名为db_bckup的新数据库,将其保留为空,然后尝试从命令行导入它:

mysql -u root -p db_bckup < mysqlbackupfile.sql
我怀疑sql文件中对“db”的引用正在覆盖我的命令行导入代码


我的问题是:是sql文件还是命令行导致了覆盖?如果原因是sql文件,是否需要手动编辑备份文件以将db名称更改为db_bckup,或者是否有更具管理性的方法将文件中的所有“db”引用更改为“db_bckup”?我有点担心会弄乱备份文件,所以我想采用经验丰富的人推荐的最佳方法。

如果在mysqldump时指定db\u name,
使用db\u name
将不会在其输出中打印出来。我猜您尝试了
--数据库
--所有数据库

Usage: mysqldump [OPTIONS] database [tables]  <= you need to run mysqldump this way
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]

我会在以后的备份中记住这一点。我的备份文件中已包含USE db info,因此我正在寻找一种方法,在不覆盖现有db的情况下导入此文件。@user2280711很遗憾,您需要编辑sql文件。我猜您的sql文件太大,无法编辑。你知道塞德吗?sed可以帮助您更轻松地编辑。或者我错了,请解释一下你的问题是什么。
Usage: mysqldump [OPTIONS] database [tables]  <= you need to run mysqldump this way
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
  -t, --no-create-info Don't write table creation info.