回滚到 mysql 5.5 FreeBSD 11.3-RELEASE

回滚到 mysql 5.5 FreeBSD 11.3-RELEASE

有没有办法回滚到 mysql 5.5,我目前通过 pkg 安装了 5.6.47

我尝试卸载当前版本,但没有成功,你们知道如何在不重新配置 freebsd 机器的情况下基本上转到任何版本的 mysql 5.5 吗?

root@ServerfilesPoject16:~ # pkg delete mysql55-client-5.6.47
No packages matched for pattern 'mysql55-client-5.6.47'

答案1

警告!这里有龙!

我不清楚“重新配置”机器是什么意思。您不需要对基本 FreeBSD 安装进行任何更改。但是,您确实需要对计算机进行更改,因为这些包存在冲突。

如果你看一下弗雷什波特你可以看到冲突:

CONFLICTS_INSTALL:

    mysql5[0-46-9]-client-*
    mariadb*-client-*
    percona*-client-*

在正常操作中,您只需要求安装所需的软件包,它就会警告您这些冲突并提出删除它们。

pkg install mysql55-client

然后这应该会提供删除mysql56-client

这导致我们认为您对版本号感到困惑。

版本 5.5 和 5.6 是不同的包:

你说你有mysql55-client-5.6.47。我认为你更有可能有mysql56-client-5.6.47

您可以使用以下命令查看系统上实际安装的内容:

pkg info

因此,从应用程序的角度来看,安装不同的版本并处理冲突是非常浪费的。如果您随着时间的推移安装了许多不再需要的依赖项的应用程序,您可以使用以下命令清除它们:

pkg autoremove

请务必阅读以下位置的手册页:包装(8)。有很多关于如何管理包的教程。

您使用 Mysql 客户端的情况很简单,并且很容易来回交换,因为它是一个简单的客户端。

但如果你还有 Mysql 服务器,那么事情可能会变得棘手。理论上,服务器应用程序也很容易交换。但这是一个数据库服务器,那些东西有……数据。

因此您可以轻松回滚应用程序。但数据完全取决于应用程序。当切换数据库中的版本号时,它们通常会更新磁盘上的数据结构。如果数据已更新,旧版本可能无法正确处理。典型的回滚是恢复备份。但这是由应用程序决定的。

有许多不同的方法可以进行此类备份。特别是对于数据库。

然而,FreeBSD 确实有一个重要的工具可以帮助您。如果您正在使用ZFS文件系统那么你可以做快照。如果您在升级之前创建了快照,则可以通过恢复到该快照来进行即时回滚。然后您可以尝试多次升级(和回滚)。但是,它确实要求您在升级之前进行快照。

快照过程非常快。但为了安全起见,您应该确保 mysql 已准备好使用FLUSH TABLES WITH READ LOCK.做快照。然后UNLOCK TABLES。看这个答案这个解释

mysql << EOF
    FLUSH TABLES WITH READ LOCK;
    system zfs snapshot data/db@snapname
    UNLOCK TABLES;
EOF

相关内容