我正在将MYSQL数据库从一个主机迁移到另一个主机,因此我运行以下命令从旧主机备份数据库:
mysqldump -u **** -p **** | gzip > /home/***/***.sql.gz
然后使用以下命令将数据库导入新主机:
zcat /home/***/***.sql.gz | mysql -u *** -p ***
成功导入数据库后,我将域指向新的DNS。 问题是网站处于活动状态,因此在最后一次备份后很可能会插入新记录。因此,我可能需要在完全DNS传播后再次运行命令。
所以,我的问题是,mysql
命令是否插入了新行并更新了现有的行,还是实际完全删除了表并重新开始备份?如果发生这种情况,DNS传播后插入的记录可能会丢失!
由于
答案 0 :(得分:1)
如果你查看mysqldump的输出(在你gzip之前),你会看到它包含一系列的
DROP TABLE x;
CREATE TABLE x (...);
INSERT INTO x (...) VALUES (...);
所以,不,它不会执行插入/替换,它会删除并重新创建表。