在 Ubuntu 16.04 上将 MariaDB 10.0 升级到 10.3.9

MariaDB 正迅速成为在开发、生产甚至企业环境中使用的默认开源数据库软件。 我们自己的 Cloud Sites 产品使用 MariaDB 中的最新版本,因为它以作为 MySQL 的分支和直接替代品而闻名,MySQL 由原始 MySQL 开发人员创建和维护。

本文旨在为在 Ubuntu 16.04 上从 MariaDB 10.0 升级到 10.3.9 提供建议和见解。 您可能已经想到的第一个问题是,“从一个版本跳转到另一个版本是否安全?” 虽然整个跳转是可能的(取决于数据库的数据结构),但不建议这样做,并且根据官方文档,不支持。 跳过版本的主要问题是,升级一个主要版本通常经过充分测试,而跳过版本则不是,因此可能会遇到不兼容问题。 建议仔细检查每个版本中的更改,看看是否有任何更改会影响正在升级的数据库。

以下页面来自 MariaDB 的官方网站和文档 升级 MariaDB. 如您所见,他们的文档按顺序显示升级,因为这是升级的首选方法。

但是,负责进行升级的管理员绝对应该查阅文档以获取每个升级到的版本记录的任何更改日志。 这些页面将包括所有需要了解的有关升级到的版本的信息。 这些页面通常包括任何先决条件、如何升级、正在更新的旧版本和新版本之间的不兼容更改、已删除或重命名的选项以及其他值得注意的功能和更改。

在 Ubuntu 16.04 上升级

我们将首先查看在 Ubuntu 16.04 上升级所需的步骤。 我们将要介绍的大部分内容都需要使用 ‘sudo‘。 我自己,我喜欢让我所有的鸭子排成一排,然后一次迈出一步。 由于我们将进行多个版本升级,并且我们知道我们最终想要升级到的版本,我们需要确保我们已经配置了我们的 /etc/apt/sources.list 文件,其中包含我们将安装升级版本的位置。 在决定我们的下载源时,我们建议始终查阅作者关于建议下载源的文档。 下面的页面允许一个人指定他们的具体标准为他们的特定 受信任的下载源.

应用选择后,是时候将存储库添加到服务器了 /etc/apt/sources.list 文件。 对于我们的 Ubuntu 示例,我们使用的是“osuosl”存储库。

冲洗并为版本 10.1-10.3 重复此过程。 将所有适用的存储库添加到 /etc/apt/sources.list 文件。 您还需要编辑文件并取消注释新添加的存储库。 每个版本升级一次,一次做一个。 现在我们可以开始从 10.0 到 10.1 的实际升级过程。

步骤 1. 将 innodb_fast_shutdown 设置为 0

登录到数据库后,发出的命令如下:

步骤 2. 关闭 MariaDB 10.0

升级 MariaDB 实例需要停止服务。

您必须先关闭旧版本的 MariaDB 才能安装新版本。

第 3 步。进行备份

您可以选择通过以下方式备份您的 MariaDB 实例 cp 或者 食谱 命令。 获取任何 MySQL / MariaDB 服务器的原始副本的最佳方法是完全停止服务(即第 2 步)并复制 /var/lib/mysql.

cp /var/lib/mysql nameofbackup

或者,您也可以在服务器仍在运行时运行以下命令,然后关闭 MySQL 并重新运行 rsync 以获取最新的差异。

rsync -avHP /var/lib/mysql/ /backup/mysql/

步骤 4. 卸载 MariaDB 10.0

下面的命令将允许您删除 MariaDB 10.0:

sudo apt remove mariadb-server-10.0删除 10.0 时,您将看到类似于此屏幕截图的输出。

删除旧版本的 MariaDB 时,您必须先进行备份。

步骤 5. 安装 MariaDB 10.1

删除 10.0 后,现在是升级到 10.1 的时候了。 安装时,您应该会看到类似的文本出现。 具体来说,您应该看到从配置的 repo 下载的包 /etc/apt/sources.list.删除 10.0 后,现在是升级到 10.1 的时候了。

如果成功完成,您将看到的下一个提示应类似于以下内容:如果您已正确安装 MariaDB 10.1,您将遇到此提示。

步骤 6. MariaDB 版本检查

由于我们运行的是 Ubuntu(同样适用于其他 Debian 软件包),我们不需要执行 run mysql_upgrade 命令。 要验证服务器现在所在的版本,请运行:

mysql --version

步骤 7. 向 my.cnf 添加新选项以启用功能

如果你改变 我的.cnf 文件然后你需要重新启动mysqld服务:service mysqld restart冲洗并重复,直到成功安装到所需/更新的 MariaDB 10.3 版本。