![是否可以在 Ubuntu 22.04 中安装 mariadb 10.3 或 mysql 5.7?](https://linux22.com/image/1187843/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%9C%A8%20Ubuntu%2022.04%20%E4%B8%AD%E5%AE%89%E8%A3%85%20mariadb%2010.3%20%E6%88%96%20mysql%205.7%EF%BC%9F.png)
我需要安装mariadb 10.3或者mysql 5.7与 Magento 2.3 项目一起使用,但我无法通过 apt install 执行此操作。它仅安装上述软件的最新版本。
我尝试将mariadb.list
具有特定版本存储库的文件添加到/etc/apt/sources.list.d/
文件夹中并重新运行 apt install,但似乎不起作用。
有人可以帮忙吗?
答案1
当然可以,这就是 tarball 展示其优势的地方。
您可以保留其中一个apt
作为其自己的安装,但我认为从 tarball 中安装它也更合乎逻辑。
我过去是如何做到的:
使用的目录是,/opt/
因为该目录用于安装第三方应用程序的源版本。您可以下载所有所需版本的 tarball,然后解压每个 tarball /opt/
(下面的 tarball 链接)。/opt/
解压 tarball 时会创建 目录,所有目录都类似于“{packagename}-{version}.{subversion}”。所有权限都将正确设置,目录将具有自己的配置和自己的数据库。
您还可以为每个要使用的版本设置一个端口,否则您需要在使用下一个版本之前关闭前一个版本。这样,您可以通过更新/opt/sql
到另一个版本来实时切换。
因此你会得到这种链:
/dir_included_in_$PATH/mysql symlinks to ...
/opt/sql symlinks to one of ...
/opt/mysql-5.6/{executable}
/opt/mysql-5.7/{executable}
/opt/mysql-8.0/{executable}
/opt/mariadb-10.3/{executable}
(所有名称都是可选的,因此如果您想要其他名称,请随意调整)
压缩包:
在每个下载的安装说明中,都会有一种方法(查找ln -s
)将二进制文件连接到系统 PATH 中的二进制文件,但在这里,您需要稍微偏离一下,将其连接到系统 PATH 中与 mysql 连接的二进制/opt/sql
文件/opt/sql
。因此,这将是一个额外的符号链接。
但是也存在一些问题:并非所有数据库都可以在 SQL 版本之间互换。默认情况下,MySQL 8 对有效日期格式的限制比 5.7 或更早版本更多,如果您的软件不符合此默认值,则会出错(如果我没记错的话,0000-00-00 不再允许;它必须是 0001-01-01)。因此,您的软件需要遵循您安装的限制最严格的版本才能在所有版本上运行。