我必须删除prod中的一些表数据。 db和要删除的记录应将记录备份复制到另一个本地数据库。这涉及两个数据库,驻留在两个不同的服务器/实例中。
是否可以通过sql(mysql)查询来执行此操作?
答案 0 :(得分:1)
我会使用mysqldump和where条件来获取记录。保存完所有内容后,即可将其从prod中删除。这些命令应该在命令行中起作用,包括密码以避免提示是可选的。
mysqldump -u user -pPassword -h hostname1 dbname tablename
--where 'field1="delete"'
--skip-add-drop-table --no-create-db --no-create-info > deleted.sql
mysql -u user -pPassword -h hostname2 dbname < deleted.sql
mysql -u user -pPassword -h hostname1 dbname -e 'DELETE FROM tablename WHERE field1="delete"'
答案 1 :(得分:0)
我正在尝试做同样的事情,将数据从表复制到另一台服务器,然后将其从原始服务器中删除。
到目前为止,我看到两个选项:
两者都需要对我们的服务器进行一些严格的重新配置,因为未启用联合或二进制日志记录(复制所需)。这需要时间,最好能找到其他解决方案。
该过程需要每天执行,因此需要完全自动化。
也许第三种选择是使用cron作业自动化事物: