我正在升级一个Debian安装,它已经运行了MySQL 5.6的dotdeb包。由于dotdeb不再支持MySQL,所以我想迁移到由Oracle直接托管的回购。
删除dotdeb很容易:只需将回购从/etc/apt/sources.list中删除即可。同样,添加Oracle也很简单:编辑相同的文件来添加它。
但是,我想确保我:
apt前进中得到任何错误我想我只是想这么做:
apt-get remove mysql-server (和任何相关的包)/etc/apt/sources.list中删除dotdeb回购,添加Oracle的回购apt-get install mysql-server (和任何相关的先决条件)我会确保备份所有的东西,但我宁愿第一次做的正确,如果可能的话不需要任何修复。
发布于 2018-11-03 15:15:01
在现有的机器上尝试这样做似乎是不必要的危险。
建立一个新的服务器。
根据需要配置它。
转储和加载数据,将新系统配置为现有系统的活动MySQL本机副本。
验证它是活的和复制的,并且您的所有数据都是完整的。
关闭原始服务器,断开复制以将新计算机升级为主服务器,并切换应用程序以使用新服务器。
作为一个长期工作的MySQL DBA,我从来不允许包管理器触摸我的数据库安装。诚然,这是一个意见问题,但作为一个DBA,这不是我最终负责的服务器--而是他们存储的信息.真正的数据库。该数据的完整性比包管理的任何想象中的好处或便利都重要得多。我决定什么时候进行更新和升级,并且完全控制这个过程,这与包管理开发人员似乎做出的假设是隔绝的,其中有些可能是非常荒谬的。Oracle还提供了更简单、不容易出现包管理意外的二进制tarball。
发布于 2019-02-20 17:20:07
最后,我选择了简单地卸载dotdeb包(将配置文件保留在原地),并从Debian包管理器中安装MariaDB。
这对我来说没有任何问题。
MariaDB包被安装用于从/etc/mysql/和/etc/mysql/conf.d/读取所有旧的配置文件,因此它完全没有问题就恢复了。当然,在升级生产之前,我们在另外两个系统上尝试了这一点,一切都很好。
虽然将一个全新的服务器配置为复制-从服务器将是一个100%的防弹解决方案,但在我的情况下这是不必要的。
https://serverfault.com/questions/938438
复制相似问题