前段 时间,使用 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 数据库管理系统,都是比较简单,升级过程也是无比的丝滑顺畅,有需要的小伙伴可以尝试。