Linux部署MariaDB有四种经验证方法:一、系统包管理器安装,适配RHEL/CentOS/Debian/Ubuntu,自动处理依赖;二、官方YUM/APT仓库安装指定版本,保障更新及时性;三、二进制包手动部署,适用于离线或定制化场景;四、Docker容器运行,支持环境隔离与快速启停。

如果您需要在Linux系统中部署MariaDB数据库服务,则需根据系统环境、版本需求及运维习惯选择适配的安装路径。以下是多种经过验证的安装方法:
一、使用系统包管理器安装MariaDB
该方式依赖发行版官方仓库,安装过程自动处理依赖关系,提供标准化服务单元文件,适合快速部署稳定生产环境。
1、对于基于RHEL/CentOS/AlmaLinux/Rocky Linux 8+ 的系统,执行:
yum install -y mariadb-server mariadb
2、对于基于Debian 12 或 Ubuntu 22.04+ 的系统,执行:
apt update && apt install -y mariadb-server mariadb-client
3、启动服务并设置开机自启:
systemctl start mariadb && systemctl enable mariadb
4、运行安全初始化脚本:
mysql_secure_installation
二、从MariaDB官方YUM/APT仓库安装指定版本
当默认仓库版本过旧或需获取特定小版本(如10.11.x)的安全更新时,引入官方签名仓库可保障版本可控性与补丁及时性。
1、导入GPG密钥并配置仓库(以CentOS/RHEL为例):
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.11
2、刷新仓库缓存:
yum clean all && yum makecache
3、安装指定版本服务:
yum install -y MariaDB-server MariaDB-client
4、启动并启用服务:
systemctl start mariadb && systemctl enable mariadb
三、使用二进制分发包手动部署
适用于无网络环境、需固定安装路径、或规避包管理器限制的场景;不依赖系统仓库,所有组件解压即用,但需手动初始化与服务注册。
1、下载对应架构的二进制包(例如x86_64 systemd版):
wget https://downloads.mariadb.com/MariaDB/mariadb-10.11.10/bintar-linux-systemd-x86_64/mariadb-10.11.10-linux-systemd-x86_64.tar.gz
2、解压至/usr/local并建立软链接:
tar -zxvf mariadb-10.11.10-linux-systemd-x86_64.tar.gz -C /usr/local/
ln -sf /usr/local/mariadb-10.11.10-linux-systemd-x86_64 /usr/local/mysql
3、创建专用用户与数据目录:
useradd -r -s /sbin/nologin -M mysql
mkdir -p /appdata/mysql
4、初始化数据库目录:
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/appdata/mysql --user=mysql
5、复制并启用systemd服务文件:
cp /usr/local/mysql/support-files/mariadb.service /etc/systemd/system/
sed -i 's|/usr|/usr/local/mysql|g' /etc/systemd/system/mariadb.service
systemctl daemon-reload
6、启动服务:
systemctl start mariadb
四、通过Docker容器运行MariaDB
该方式实现环境隔离、快速启停与版本切换,适用于开发测试、CI/CD集成或轻量级部署,无需修改宿主机系统配置。
1、拉取官方镜像(指定10.11稳定版):
docker pull mariadb:10.11
2、创建持久化数据卷:
docker volume create mariadb_data
3、运行容器并挂载配置与数据:
docker run -d \
--name mariadb-1011 \
-p 3306:3306 \
-v mariadb_data:/var/lib/mysql \
-v $(pwd)/my.cnf:/etc/mysql/my.cnf:ro \
-e MYSQL_ROOT_PASSWORD=your_secure_root_password \
--restart unless-stopped \
mariadb:10.11
4、验证容器状态:
docker ps -a | grep mariadb-1011

















