mysql - 如何在同一台服务器上复制 MySQL 数据库

标签 mysql database sync replicate

我有一个大型 MySQL 数据库,我们称之为 live_db,我想在同一台机器上复制它以提供一个可以使用的测试系统 (test_db) ,包括表结构和数据。 我想定期用 live_db 的内容更新 test_db;如果可能,增量。

MySQL 中是否有一些内置机制可以做到这一点?我认为主从复制不是我想要的,因为它应该可以更改 test_db 中的数据。不过,这些更改不必保留。

问候,

CGD

最佳答案

mysql 命令行客户端将接受来自标准输入的 SQL 语句流。因此,您可以将 mysqldump 的输出直接通过管道传输到命令行上的 mysql。作为一项 cron 作业执行此操作会定期用更新的实时数据覆盖您的测试数据:

mysql --user=username --password=passwd -e 'DROP DATABASE test_db;'
mysql --user=username --password=passwd -e 'CREATE DATABASE test_db;'
mysqldump --user=username --password=passwd live_db | mysql --user=username --password=passwd test_db

请注意,由于您的数据很大,因此需要很长时间。

关于mysql - 如何在同一台服务器上复制 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6652136/

相关文章:

php - 使用 paypal iPN 向用户添加记录时出错

mysql - 如何连接两个单独的 MySQL 查询以给出一个结果?

InnoDB 上的 MySql 数值类型迁移

mysql - MAMP 并创建新用户和 MySQL

replication - 数据复制和同步的区别?

iphone - 已配置的 iPhone 未显示在 Xcode Organizer(或 iTunes)中

php - 更改注册用户1=123

php - 在数据库中存储图像引用的最佳实践

linux - 如何方便地在两个git存储库之间同步文件

php - 时间表统计 PHP 页面