我正在为平台上的所有用户创建一个带有集中式数据库的内容管理系统,用户可以拥有一个或多个网站。
当用户网站填写完内容时,我们将网站放在带有集中测试数据库的测试域中。
在填写内容后,用户给我们打电话,我们将网站迁移到新主机,并将数据从我们的集中测试数据库迁移/合并到我们的集中生产数据库。
这样做的最佳解决方案是什么?因为我担心将来会导致很多问题(数据不同步,数据被覆盖或更糟糕的CMS会中断......)。
总结一下:如何将部件从一个活动数据库迁移到另一个活动数据库
答案 0 :(得分:1)
1。使用 MySQLDump :
mysqldump -hREMOTE_HOST -uroot -pREMOTEpwd --opt --compress REMOTEdb | mysql -uroot -pLOCALpwd LOCALdb
此命令可以在目标服务器上执行,它将提取源数据库的内容,重新创建所有表和数据。
使用这种方法需要获取源 数据库服务器向下以避免数据丢失。
2。根据后续要求,您需要增量备份计划。
增量备份仅备份自以后更改的数据 以前的备份。该技术提供了额外的灵活性 设计备份策略并减少备份所需的存储空间。
通过 mysqlbackup 命令的选项启用增量备份。
启动mysqlbackup
的示例命令行参数是:
# Information about data files can be retrieved through the database connection.
# Specify connection options on the command line.
mysqlbackup --user=dba --password --port=3306 \
--with-timestamp --backup-dir=/export/backups \
backup
# Or we can include the above options in the configuration file
# under [mysqlbackup], and just specify the configuration file
# and the 'backup' operation.
mysqlbackup --defaults-file=/usr/local/mysql/my.cnf backup
# Or we can specify the configuration file as above, but
# override some of those options on the command line.
mysqlbackup --defaults-file=/usr/local/mysql/my.cnf \
--compress --user=backupadmin --password --port=18080 \
backup
我们指定的--user
和--password
用于连接MySQL服务器。
--with-timestamp
选项将备份放在我们上面指定的目录下创建的子目录中。备份子目录的名称由备份运行的日期和时钟时间构成。