Linux安装配置MariaDB详细教程
时间:2026-04-17 10:48:41 258浏览 收藏
本文详解Linux下高效、可靠安装配置MariaDB的核心要点,强调优先使用系统包管理器(yum或apt)而非手动编译或过时脚本,避免常见陷阱:服务未启动、mysql_secure_installation被跳过导致安全裸奔、socket路径不一致引发连接失败、权限与用户配置错误、以及新版中已废弃的mysql_install_db误用;同时厘清发行版差异、大小写敏感包名、官方仓库指定版本的正确方法,并指出绝大多数“装不上”“连不上”问题本质都聚焦在路径、用户、权限、socket四大关键点上——盯住它们,远比反复重装更省时有效。

mariadb 在大多数现代 Linux 发行版中已取代 mysql,但安装方式不统一,选错方法容易卡在初始化、权限或 socket 错误上。直接结论:优先用系统包管理器安装,除非你明确需要特定小版本(如 10.11.x)或离线部署。
用 yum 或 apt 安装最稳,但要注意发行版差异
系统包管理器安装省心,服务单元、默认路径、日志位置都已预设,适合生产环境快速上线。
- RHEL/CentOS/AlmaLinux/Rocky Linux 8+:
yum install -y mariadb-server mariadb(注意不是MariaDB-server,大小写敏感) - Debian 12 / Ubuntu 22.04+:
apt update && apt install -y mariadb-server mariadb-client - 安装后必须运行
systemctl start mariadb和systemctl enable mariadb,否则服务不启动 - 别跳过
mysql_secure_installation—— 它不只是设 root 密码,还会禁用匿名用户、删除 test 库、禁止远程 root 登录,这步漏掉等于裸奔
mysql_install_db 已废弃,新版本必须用 mariadb-install-db 或 systemd 初始化
如果你从二进制包手动部署,或看到老教程里用 scripts/mysql_install_db,请立刻停手。MariaDB 10.2+ 已移除此脚本,强行调用会报错:
ERROR 1045 (28000): Access denied for user 'root'@'localhost'
正确做法是:
- 确保
mysql用户存在:useradd -r -s /sbin/nologin -M mysql - 指定数据目录并赋权:
mkdir -p /appdata/mysql && chown -R mysql:mysql /appdata/mysql - 用新版初始化命令:
mariadb-install-db --datadir=/appdata/mysql --user=mysql - 若提示
libaio.so.1: cannot open shared object file,补装:yum install -y libaio(CentOS)或apt install -y libaio1(Debian/Ubuntu)
socket 连接失败(Can't connect to local MySQL server through socket)八成是路径不一致
这是最常被忽略的细节:客户端默认连 /var/run/mysqld/mysqld.sock 或 /tmp/mysql.sock,而服务端实际监听的可能是 /var/lib/mysql/mysql.sock。不匹配就报错。
- 先查服务端实际 socket 路径:
sudo grep "socket" /etc/my.cnf /etc/mysql/my.cnf 2>/dev/null - 再查客户端默认路径:
mariadb --help | grep "Default options"(看输出里的 socket 行) - 临时解决:加软链,例如服务端在
/var/lib/mysql/mysql.sock,就执行sudo ln -sf /var/lib/mysql/mysql.sock /tmp/mysql.sock - 长期解决:统一改到
/var/run/mysqld/mysqld.sock,并在[client]和[mysqld]段都显式写socket = /var/run/mysqld/mysqld.sock
官方仓库装指定版本时,mariadb_repo_setup 脚本必须带 --mariadb-server-version
直接跑 curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash 默认装最新稳定版,但可能不是你要的 10.11.x —— 官方脚本不会猜你的意图。
- 装 10.11 系列:
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.11 - 装 10.6:
--mariadb-server-version=10.6,不能写成10.6.0或10.6.x - 执行后务必
yum clean all && yum makecache(RHEL系)或apt update(Debian系),否则仍会拉旧包 - 包名大小写敏感:
yum install MariaDB-server(首字母大写),不是mariadb-server;APT 侧则仍是小写
真正麻烦的从来不是“怎么装”,而是“为什么装完连不上”“为什么初始化报错”“为什么改了配置不生效”。这些点全卡在路径、用户、权限、socket 四个地方,盯住它们比反复重装更有效。
理论要掌握,实操不能落!以上关于《Linux安装配置MariaDB详细教程》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
417 收藏
-
237 收藏
-
203 收藏
-
330 收藏
-
396 收藏
-
114 收藏
-
375 收藏
-
347 收藏
-
113 收藏
-
464 收藏
-
416 收藏
-
391 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习