[英]Migrate large database from MySQL 8 to MariaDB
我需要一个解决方案来将大型数据库从 MYSQL 8 迁移到 MariaDB(任何版本,但最好是 10.4)
我已经搜索了 MariaDB 网站,并且我已经对这个主题进行了谷歌搜索,但我还没有找到任何东西。
不幸的是,运行 mysqldump 的解决方案对我来说似乎不太可行,因为我必须迁移的数据库至少有 40 GB 大(物理磁盘空间)。
一般来说,MariaDB 被设计为 MySQL 的直接替代品。
由于 MySQL 8.0 不幸的是,不可能再简单地用 MariaDB 替换 MySQL 并使用与以前相同的数据文件。
从 MySQL 8.0 或更高版本迁移到 MariaDB 的唯一方法是使用mysqldump
。
请参阅此处以供参考: https://mariadb.com/kb/en/upgrading-from-mysql-to-mariadb/
如果您使用 MySQL 8.0 或更高版本,则必须使用 mysqldump 将数据库移动到 MariaDB。
我想到的另一个解决方案是从 MySQL 8.0 降级到 MySQL 5.7 - 不幸的是,这也是不可能的:
Downgrade from MySQL 8.0 to MySQL 5.7, or from a MySQL 8.0 release to a previous MySQL 8.0 release, is not supported. 唯一受支持的替代方法是恢复升级前的备份。 因此,您必须在开始升级过程之前备份您的数据。
https://dev.mysql.com/doc/refman/8.0/en/downgrading.html
我认为您必须花时间进行mysqldump
。
对不起m8。
计划一:
mysqldump -h mysql_8_host ... | mysql -h mariadb_10_host ...
这样可以避免实例化您所说的可能为 160GB 的中间文件。
B计划:
mysqldump -h mysql_8_host ... | gzip >dump.gz
gunzip <dump.gz | mysql -h mariadb_10_host ...
压缩文件可能小于 40GB。 一方面,它没有索引。 (它们将在第二步中重建。)
在任一情况下...
两个版本之间可能存在不兼容。 查看 mysql 的mysqldump
和 mariadb 的mysqldump
的参数,它可能具有向后兼容选项,它可能准备接受 8.0 输入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.