准确地说,我试图仅将数据恢复到数据库,但它不起作用:
终端查询执行:
mysqldump -u root -P port -p --no-create-info database < '/root/Documents/data'
输出:
xxx...
LOCK TABLES `table` WRITE;
/*!40000 ALTER TABLE `table` DISABLE KEYS */;
/*!40000 ALTER TABLE `table` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on xxxx-xx-xx xx:xx:xx
我正在使用mysql Ver 15.1 Distrib 10.1.26-MariaDB
如果我这样做mysql -u root -p -P 15501 database < 'location/data'
它可以工作,但它也取代了结构。
仅供引用:有一个名为 TITLE
的列在数据库结构中,但在data.sql
中它叫做NAME
非常感谢所有回复!
最佳答案
创建转储文件时应该使用 --no-create-info
选项,我认为在恢复时没有忽略这些语句的选项。
如果为时已晚,您可以编辑转储文件并从文件中删除所有 DROP TABLE
和 CREATE TABLE
命令。
关于mysql - 无法仅恢复 mariadb 中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51825889/