在 xampp 中有很多关于如何将 mariadb 更改为 mysql 的“howto”(HERE、HERE、HERE、HERE等),但它们都适用于 Windows 操作系统
任何人都知道如何通过 bash 命令行为 Ubuntu 20.04 做到这一点?(最好是mysql 5.7)
wget https://www.apachefriends.org/xampp-files/7.4.12/xampp-linux-x64-7.4.12-0-installer.run
sudo chmod +x xampp-linux-x64-7.4.12-0-installer.run
sudo ./xampp-linux-x64-7.4.12-0-installer.run --mode unattended --launchapps 0
sudo /opt/lampp/manager-linux-x64.run
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
tar -xzf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
sudo mv -f mysql-5.7.35-linux-glibc2.12-x86_64/* /opt/lampp/mysql
# and after that?
降级的解决方法:
没有带有 MySQL 5.7 的 Xampp 版本。根据Apache Friends的说法,从 XAMPP 5.5.30 和 5.6.14 开始,XAMPP 发布了 MariaDB 而不是 MySQL(根据 RELEASE NOTES,最后一个带有 MySQL 的 Xampp 是 v5.6.12-0 -with MySQL v5.6.25-;然后跳转到 Xampp v5 .6.14 - 使用 MariaDB v10.0.17-)
RELEASE NOTES
[2015-10-19] XAMPP for Linux 64bit 5.6.14
This version of XAMPP includes:
- Updated Apache to 2.4.17
- Updated PHP to 5.6.14
- Added MariaDB 10.0.17
- Updated phpMyAdmin 4.5.0.2
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[2015-08-27] XAMPP for Linux 64bit 5.6.12-0
This version of XAMPP includes:
- Updated Apache to 2.4.12
- Updated PHP to 5.6.11
- Updated MySQL to 5.6.25
- Updated phpMyAdmin 4.4.12
- Update OpenSSL to 1.0.1p
- Phanebook issue with SQLite
- Fix charset admin pages
- Added OS X HOW-TO guides
- Enabled SSL support for PostgreSQL PHP extension
- Added PHP XMLRPC extension
- Added PHP MSSQL extension
- Included new dashboard
所以我找到了一个名为bitnami lamp的包,在以前的版本中它有一个 mysql 5.7并且可以降级
但是,我仍然想知道我的问题的答案,如果这样的事情可以在 linux 中完成
长话短说,我已经成功地从 MariaDB 10.4.11 迁移到 MySQL 5.7.38。原因是检查特定版本的 InnoDB 引擎,即 5.7.38。
实际上,使用 bitnami lampstack 相当容易。此外,使用 bitnami,您可以轻松配置为同时运行 MariaDB 和 MySQL [1](同时在不同端口上或在同一默认端口上一次一个)并通过管理器(或通过 systemd 服务)控制它们。
我的第一次尝试是在 bitnami lampstack 包更改日志中找到最接近的 MySQL 版本并下载此包,但它在网络上缺失(版本高于 7.1.33(MySQL 5.7.28)和低于 7.2.24(切换到 MySQL 8 ))。
我的下一个最佳选择是获取任何可用的 bitnami 包(7.2.26)并交换已安装的 MySQL 包。(抱歉,这里没有 wget,因为链接是由计时器显示的。如果你能找到他们的档案,请更新)
首先运行安装程序以获取完整的选项列表(选择要安装的模块):
并使用覆盖设置进行安装(我更喜欢以用户身份安装,所以这里没有 sudo):
此时,您将获得一个在选定端口上运行服务的工作 LAMP 堆栈。可悲的是,但 bitnami 没有禁止应用程序启动的标志,因此我们需要手动执行此操作:
安装选择的 MySQL 版本
正如您所注意到的,lampstack 模块是通过其“脚本”文件夹中的 ctl 脚本控制的。所以最重要的部分是将这些脚本放在 MySQL 的自定义安装中。
现在您有两个选择:从旧 MariaDB 安装中复制“数据”或初始化新数据库,然后导入转储。第一个不可靠,所以我更喜欢第二个。
选项 1 迁移 MariaDB“数据”
注意!备份“数据”文件夹和/或创建数据库转储(通过跳过选项 1 并跳转到选项 2)。
如果您遵循此选项并正在降级,那么您肯定会收到此错误。
注意!可能有害 的操作 解决方法是删除 ib_logfile* 文件,然后重新启动服务。
然后你会遇到一堆错误,但 db 会启动并运行。
和
之后,您需要通过调用 mysql_upgrade 来升级数据库。让我们为此创建 ctl_upgrade.sh 脚本:
选项 2 转储和导入数据库
我不会在这里深入探讨,因为这个过程相当简单。转储:
导入新数据库:
检查“数据”目录中的日志。迁移完成。
可选:将 MariaDB 安装到 Lampstack 管理器中
我选择了具有相同 InnoDB 版本的 MariaDB。
可选:用于 lampstack 的 Systemd 服务
[1]:我相信 xampp linux 软件包是可能的,但乍一看我发现它的配置很混乱,因为所有模块都有些连接。