还有一个小问题,对不起,如果已经回答了,但我找不到。我有一个大型的科学数据库,我们大学有时会在内部更新。有时我们希望将其与服务器联机同步,以便向所有人提供新数据。所以我做了件蠢事,把桌子都扔了,然后

mysql -u username -p database_name < file.sql

我觉得这不好,同步数据库的常见做法是什么(可能不需要完全导入,只需要差异)。

最佳答案

mysqldbcompare将为您做这项工作。在您的描述中,我假设您的公共数据库和内部数据库之间的唯一区别是存储在内部数据库中的新数据。没有架构和旧数据更改。
假设server1是内部数据库,server2是公共数据库。

mysqldbcompare --server1=user1:password1@in-house \
  --server2=user2:password2@public db1:db2 --changes-for=server2 -a \
  --difftype=sql > sqldiff.sql

然后,可以使用以下命令将差异导入到公共数据库:
mysql -u username -p password db_name < sqldiff.sql

关于mysql - 上传/导入大型sql数据库(仅差异)mysql/linux,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28309030/

10-10 20:56
查看更多