在 CentOS 7 上安装最新稳定版的 MariaDB(通常是 MariaDB 10.11 LTS 或 11.x 分支),如果直接使用系统的 yum install mariadb-server,由于 CentOS 7 官方源早已停止维护,你只会装上极度老旧的 5.5 版本(2012 年的古董版)。

为了安全和性能,我们必须引入 MariaDB 官方的 Yum 仓库。以下是 2026 年最标准的完整升级与安装指南:

🛠️ 第一步:彻底清理冲突的旧环境
CentOS 7 自带的旧版 mariadb-libs 会与新版严重冲突,导致安装锁死。请先将其连根拔起:

Bash

1. 强行卸载所有旧的 mariadb 残留组件

rpm -e --nodeps $(rpm -qa | grep mariadb)

2. 顺便清理可能冲突的旧 mysql 依赖

rpm -e --nodeps $(rpm -qa | grep mysql)
🌐 第二步:配置 MariaDB 官方最新 Yum 源
由于 MariaDB 官方对 CentOS 7 的软件源结构进行了调整,直接手工写配置文件最稳妥。

创建并编辑源文件:

Bash
vi /etc/yum.repos.d/mariadb.repo
粘贴以下官方最新的归档源配置(推荐 10.11 LTS 长期支持版,最稳定):

Ini, TOML
[mariadb]
name = MariaDB
baseurl = https://archive.mariadb.org/mariadb-10.11/yum/centos7-amd64/
gpgkey = https://supplychain.mariadb.com/MariaDB-Server-GPG-KEY
gpgcheck = 1
enabled = 1
(注:如果你追求绝对最新的功能,可以将上面两处 10.11 改为 11.4)

刷新 yum 缓存:

Bash
yum clean all
yum makecache
🚀 第三步:安装并启动新版 MariaDB
正式执行安装命令:

Bash
yum install -y MariaDB-server MariaDB-client
(注意:官方源的大版本包名中,M 和 DB 必须大写)

启动服务并设置开机自启:

Bash
systemctl start mariadb
systemctl enable mariadb
验证安装版本:

Bash
mariadb --version
此时终端应该漂亮地打印出 mariadb Ver 15.1 Distrib 10.11.x-MariaDB...

🔐 第四步:执行安全初始化(设置 root 密码)
新安装的 MariaDB 默认是没有密码的。运行官方自带的安全脚本来加固数据库:

Bash
mariadb-secure-installation
进入交互界面后,按照以下提示进行(直接抄作业):

Enter current password for root (enter for none): ➔ 直接敲回车(因为现在没密码)。

Switch to unix_socket authentication [Y/n] ➔ 输入 n(除非你希望通过 Linux 账户直接免密登录)。

Change the root password? [Y/n] ➔ 输入 y,接着输入你要设置的数据库新密码并回车确认。

Remove anonymous users? [Y/n] ➔ 输入 y(删除匿名用户)。

Disallow root login remotely? [Y/n] ➔ 输入 n(注意选 n! 否则你以后在 Windows 用 Navicat 或开发工具就无法远程连接了)。

Remove test database and access to it? [Y/n] ➔ 输入 y(删除测试库)。

Reload privilege tables now? [Y/n] ➔ 输入 y(立即刷新权限)。

🌍 第五步:开远程连接权限(可选)
如果你需要让外部网络或其它虚拟机连接这个 MariaDB,除了在刚才的安全脚本中允许远程外,还需要进数据库赋予权限:

登录数据库:

Bash
mariadb -u root -p
(输入你刚刚设置的新密码)

在 MariaDB [(none)]> 终端中执行:

SQL
-- 允许 root 用户从任意 IP (%) 登录并拥有所有权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;

-- 刷新生效
FLUSH PRIVILEGES;

-- 退出
EXIT;
最后一步:放行 CentOS 7 防火墙的 3306 端口:

Bash
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
至此,一个崭新、安全的现代版 MariaDB 已经在你的 CentOS 7 上彻底部署完毕,并且已经完美打通了网络!

标签: none

添加新评论