前段 时间,使用 NextCloud 云存储平台时,系统提示使用的数据库 MariaDB 版本太老了,不适于新的功能。于是就想把数据库做一下升级。

之前使用的数据库版本是 MariaDB 10.3,操作系统为 Debian 10。想要将 MariaDB 升级到 10.6,操作系统升级到 Debian 11。由于服务器为在线网站服务器,跑了几个 Web 网站,于是就想采用影响最小的平滑升级方案。

1] Debian 10 升级至 Debian 11

Debian 操作系统的升级是比较平滑的,只需要修改软件源中的版本代号,然后就可以使用 apt 包管理工具进行相应的升级了。Debian 10 的版本代号是 Buster,而 Debian 11 的版本代号是 Bullseye。软件源的配置文件是”/etc/apt/sources.list”,其他软件包位于是”/etc/apt/sources.list.d”目录中的”.list”文件。将这些文件中的”buster”替换为”bullseye”,这完成了软件源的修改。例如可以使用 sed 命令修改”/etc/apt/sources.list”文件:

# sed -i 's/buster/bullseye/' /etc/apt/sources.list

修改完成后,就可以使用如下命令进行系统升级了:

# apt update -y
# apt upgrade -y

升级过程中,如果出现弹窗提示询问是否修改配置,则选择保留不做修改。

升级完成后,重新启动主机,再使用如下命令查看系统代号,就会发现系统已经完成了升级:

# # cat /etc/debian_version 
11.11

2] 升级 MariaDB 数据库

MariaDB 数据库对于 Debian 10、11和12系统都有对应的软件库,可以在线安装各版本的 MariaDB 数据库管理工具。但是 Debian 官方软件库的版本当然不是最新版,甚至连要求的版本的都达不到。于是就需要使用 MariaDB 提供的软件源来安装数据库管理工具。

MariaDB 提供了一个脚本,可以方便的配置和管理 MariaDB 软件源来安装对应版本的 MariaDB 数据库工具。

首先安装依赖包:

# apt install software-properties-common dirmngr

然后下载并使用软件源配置脚本:

# curl -LsS -O https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
# bash mariadb_repo_setup --mariadb-server-version=10.6

脚本执行完成后,会在”/etc/apt/sources.list.d”目录中添加”mariadb.list”文件,该文件用于配置 MariaDB 提供的对应软件库。

最后,执行如下命令更新软件源并升级 MariaDB 数据库即可:

# apt update
# apt upgrade mariadb-server

命令执行过程中,会自动删除旧版本的 MariaDB 并安装指定版本,不会对系统运行的数据库产生影响。升级完成后,只更新了数据库管理软件,而数据库文件和配置信息等内容则会保留。当然,为了避免在升级过程中出现意外造成数据丢失,可以在数据库备份之前使用如下命令进行数据备份:

# apt install mariadb-backup
# mariabackup --backup \
   --target-dir=/var/mariadb/backup/ \
   --user=mariabackup --password=mypassword

其中:

  • — target-dir 用于指定备份文件目录
  • — user 用于指定备份用户名
  • — password 用于指定备份用户密码

如果数据库成功启动,并且原有数据均在,则表明 MariaDB 数据库升级顺利完成。

总之,无论是升级 Debian 操作系统,还是升级 MariaDB 数据库管理系统,都是比较简单,升级过程也是无比的丝滑顺畅,有需要的小伙伴可以尝试。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注