繁体   English   中英

将大型数据库从 MySQL 8 迁移到 MariaDB

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM