linux中mariadb数据库升级

本文档详细介绍了如何从旧版本的MariaDB10.1.40升级到最新稳定版10.5.9,包括解决自增字段不持久化和配置丢失的问题。升级过程包括备份数据库和配置文件,删除旧版本,安装新版本,恢复数据和配置,并检查新数据库的运行状态。同时,还提供了数据和用户恢复的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

    在使用mariadb的数据库(mysql有同样的问题)过程中,发现老版本的数据库的一些问题:

(1)自增字段是在内存里的,数据库重启后就会丢失,新的自增字段是根据表中已有数据的最大值+1(数据表的如果没有记录,自增字段又从头开始了);

(2)数据库的主从数据库配置,有部分配置项在重启过程中也会丢失。

    因为公司业务需要,上述数据库问题会使公司业务产生bug,因此决定对公司在用的mariadb 10.1.40数据库进行升级

在官网中 https://mariadb.com/kb/en/auto_increment-handling-in-innodb/

可以看到AUTO_INCREMENT Values是在mariadb10.2.3之后改为持久化的,再加上其他的一些问题,公司决定将数据库升级至最新的稳定版本 mariadb 10.5.9

一、备份数据库

1、备份数据库

备份数据库数据

mysqldump -u root -p --all-databases > /home/alldb.sql

数据库data目录也可以备份一份

2、备份配置

cp /etc/my.cnf /etc/my.cnf.bak

3、停止数据库运行

service mysql stop

二、删除数据库

1、为什么要删除原有数据库服务

备注:我有尝试过不删除数据库,直接安装,尝试了一下方式:

(1)通过 yum install 命令安装新版本,会提示有原有老版本,无法安装。

(2)通过 yum update 命令更新版本,通过日志可以看到正常下载了新的安装包,但是在安装时会提示执行预执行的脚本发生错误,无法安装。

(3)官网查看maridb 更新操作   https://mariadb.com/kb/en/upgrading/   也是说明需要先 uninstall 然后再 install 新版本。

2、 删除老版本数据库

yum remove MariaDB-server
//如果有其他组件,也可以一并删除
yum remove MariaDB-client  //  等等

三、安装新版本数据库

建议使用MariaDB官方推荐的stable稳定版:

https://downloads.mariadb.org/mariadb/
http://yum.mariadb.org/

1、添加MariaDB yum源

vim /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.5 CentOS repository list
# http://yum.mariadb.org/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64/
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1

2、清除yum源缓存并建立数据源

yum clean all 
yum makecache

3、安装MariaDB新版本

yum install mariadb mariadb-server
yum install mariadb mariadb-client

4、启动新版MariaDB

service mysql start 

// 启动后查看状态

service mysql status

5、升级已有数据库

mysql_upgrade -uroot -p --force

6 、配置开机自启动

systemctl enable mariadb

7、登录并检查数据

mysql -uroot -p

四、数据和配置恢复

1、恢复配置

查看配置是否丢失,如果出现丢失,拿最开始备份的配置恢复

vim /etc/my.cnf

2、恢复用户和数据

登录查看用户、存储过程、数据等,出现丢失,用户可以重新创建、数据拿最初的备份恢复

mysql -u root -p </home/alldb.sql

 

### Linux升级 MariaDB 的方法指南 #### 添加 MariaDB YUM 源 为了确保能够获取最新的 MariaDB 版本,首先需要添加官方的 MariaDB YUM 源。编辑 `/etc/yum.repos.d/MariaDB.repo` 文件并添加以下内容[^2]: ```bash [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.5/centos7-amd64/ gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck = 1 ``` #### 清除缓存并更新数据源 完成 YUM 源配置后,清理现有的缓存并重新构建数据源以确保可以访问最新软件包: ```bash yum clean all yum makecache ``` #### 安装新的 MariaDB 版本 通过 `yum` 命令卸载旧版 MariaDB 并安装新版本。如果当前系统已安装 MySQL 或其他数据库服务,则需先停止其运行并备份重要数据后再执行操作[^2]: ```bash yum remove mariadb mariadb-server yum install mariadb mariadb-server mariadb-client ``` #### 启动与验证 MariaDB 状态 启动 MariaDB版本的服务,并确认其正常工作: ```bash service mysql start service mysql status ``` #### 数据库升级工具 使用内置命令对现有数据库结构进行兼容性和一致性检查以及必要的调整: ```bash mysql_upgrade -uroot -p --force ``` #### 设置开机自动启动 为了让服务器重启后无需手动干预即可继续提供服务,设置 MariaDB 开机自启功能: ```bash systemctl enable mariadb ``` #### 登录测试及数据恢复 最后一步是连接到数据库实例来检验一切是否按预期运作良好;同时按照之前的记录迁移回原环境中的各项设定参数文件等内容[^3]: ```bash mysql -u root -p ``` --- ### 注意事项 在实际操作过程中,请务必做好充分准备以防万一出现问题影响业务连续性。这包括但不限于完全备份所有关键资料、了解目标平台特性差异可能带来的潜在风险等方面。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mengao1234

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值