mysql - 上传/导入大型sql数据库(仅区别)mysql/linux

标签 mysql linux import

还有一个微不足道的问题,抱歉,如果已经回答了,但我找不到了。我有一个大型科学数据库,有时由我们大学内部更新。有时我们希望将其与在线服务器同步,以使新数据可供所有人使用。所以我在做一些愚蠢的事情,即删除所有表然后

mysql -u username -p database_name < file.sql

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

最佳答案

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

假设 server1 是内部数据库,server2 是您的公共(public)数据库。

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

然后您可以使用命令将差异导入您的公共(public)数据库:

mysql -u username -p password db_name < sqldiff.sql

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

相关文章:

excel - 阻止 Excel 自动将某些文本值转换为日期

java - JBoss AS 7.1 中 MySQL 数据库的事务错误

php - 缺少 Amazon AMI PDO MYSQL 驱动程序。没有适用于 PHP 7.1 的软件包。如何安装 7.1 PDO_MYSQL 驱动程序?

mysql - 安装 MariaDB 归档引擎

python - MySQLdb Python - 测试数据库

java - 从 jar 文件运行特定类的主要功能。导入似乎不起作用

mysql - 在 JBoss 5.1 的 MDB (ActiveMQ) 中捕获 MySQL 死锁

mysql - 仅在 UNION mysql 中的一个查询中排序

mysql - 导入 excel .csv 文件并将其添加到 phpMyAdmin 中的列

c++ - 添加从 CDT 构建所需的库