- 我的开发环境有XAMPP,这意味着我安装了MariaDB。
- 生产已经安装了MySQL 8。
当我将新的架构更改从 MariaDB 转移到 MySQL 时,它基本可以正常工作。有时我必须摆弄一下。
但我的主要问题是,当我备份 MySQL 架构和数据并尝试将其恢复到我的 PC 时,我已经放弃了。这需要太多更改。许多问题与字符集有关。
我能做些什么让 #2 变得更容易?也许是一些关于在 MySQL 上应避免什么的规则。
当我将新的架构更改从 MariaDB 转移到 MySQL 时,它基本可以正常工作。有时我必须摆弄一下。
但我的主要问题是,当我备份 MySQL 架构和数据并尝试将其恢复到我的 PC 时,我已经放弃了。这需要太多更改。许多问题与字符集有关。
我能做些什么让 #2 变得更容易?也许是一些关于在 MySQL 上应避免什么的规则。
是的,如果您可以使用
mariadb-dump
或 MariaDBmysqldump
来备份 MySQL 模式而不是 MySQL 的mysqldump
,那么您应该能够将该转储/SQL 文件导入 MariaDB。mariadb-dump
/mysqldump
可以在远程主机上运行,因此您不必将其安装在数据库服务器本身上,尽管您需要远程访问 3306 端口(或 MySQL 运行的任何其他端口)。XAMPP 似乎仍有旧版本的 MariaDB (10.4),因此该实用程序仍被称为
mysqldump
。我没有 Windows,但我下载了适用于 Windows 的 XAMPP zip 文件,基于此,我认为转储命令看起来像这样:
根据需要进行调整。
(如果
mysqldump
当前版本的 XAMPP 附带的 不适用于您的 MySQL 8.0 服务器,那么您可以尝试在 Windows 机器上本地安装较新版本的 MariaDB 服务器(例如 10.11 或 11.4)并使用它mariadb-dump
。有趣的是,我能够使用 MariaDB 10.11 从 MySQL 服务器 8.0.41 成功转储 MySQL“sakila”数据库mariadb-dump
,尽管这是在 Linux 上。)其他可能有效的解决方案是尝试使用
mysqldump
较旧的 MySQL 版本,例如 5.7 甚至 5.6。或者尝试使用 HeidiSQL 等工具中的备份功能。根据@Akina 的建议,我决定尝试使用MAMP而不是 XAMPP。
我认为,从长远来看这样会更好。
我确实需要进行转换。我将编写一个脚本来完成此操作。
- 从:
- 到: