Linux怎么安装MariaDB 11.4 Linux最新版数据库环境详解

落墨同学_3275

落墨同学_3275

2026-05-06

744人浏览

原创

mariadb 11.4是截至2026年4月的稳定主力版本,安装需按发行版区分:ubuntu/debian用apt安装后可直接启动,centos/rhel等须手动运行mariadb-install-db初始化;该版本弃用mysql_install_db,推荐使用--auth-root-authentication-method=normal参数以支持密码登录,并注意依赖libaio及systemd服务文件路径适配。

linux怎么安装mariadb 11.4 linux最新版数据库环境详解

mariadb 11.4 是当前稳定主力版本(截至 2026 年 4 月),安装方式取决于你的发行版和需求场景:包管理器安装最省事,二进制部署最可控,但两者初始化逻辑和默认配置差异明显,混用容易导致 mysqld 启动失败或权限混乱。


用 apt/yum 安装 mariadb-server 时为什么启动不了?

常见现象是 systemctl start mariadb 报错退出,journalctl -u mariadb -n 50 显示 Can't open and lock privilege tables 或 Failed to initialize databases。

根本原因在于:Debian/Ubuntu 的 mariadb-server 包会自动运行 mysql_install_db 初始化,但 CentOS/RHEL 8+ 的 mariadb-server 包默认不初始化,且 systemd 单元文件依赖 /var/lib/mysql 已存在有效数据目录。

  • Ubuntu/Debian 系统:安装后直接 systemctl start mariadb 即可,初始化由 postinst 脚本完成
  • CentOS/RHEL/AlmaLinux:必须手动运行 mysql_install_db 或更推荐的 mariadb-install-db(11.4+ 推荐)
  • 若已启动失败又强行删了 /var/lib/mysql,需先 systemctl stop mariadb 再重初始化,否则 socket 文件残留会导致后续启动卡住

mariadb-install-db 和 mysql_install_db 有什么区别?

mysql_install_db 是旧脚本,11.4 开始已被标记为 deprecated;mariadb-install-db 是官方推荐替代,行为更一致、错误提示更明确,且默认使用 --auth-root-authentication-method=unix_socket(即 root 只能本地系统用户免密登录)。

典型用法:

linux-sysadmin
linux-sysadmin

Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...

下载
./scripts/mariadb-install-db \
  --basedir=/apps/mariadb-11.4.5 \
  --datadir=/appdata/mysql \
  --user=mysql \
  --auth-root-authentication-method=normal
  • --auth-root-authentication-method=normal 才会让 mysql -u root -p 生效;不加此参数,root 只能 sudo mysql 进去
  • --user=mysql 必须指定,且该用户需对 --datadir 有完全读写权限(chown -R mysql:mysql /appdata/mysql)
  • 若提示 libaio.so.1: cannot open shared object file,说明缺系统依赖:yum install -y libaio(CentOS)或 apt install -y libaio1(Debian/Ubuntu)

二进制包安装后怎么让 systemctl 管理?

官方二进制包自带 support-files/mariadb.service,但路径硬编码了 /usr/local/mysql,你解压到 /apps/mariadb-11.4.5 就得改。

正确做法:

  • 复制服务文件:cp /apps/mariadb-11.4.5/support-files/mariadb.service /etc/systemd/system/
  • 编辑 /etc/systemd/system/mariadb.service,修改两处:Environment="MYSQL_HOME=/apps/mariadb-11.4.5" 和 ExecStart=/apps/mariadb-11.4.5/bin/mariadbd ...
  • 重载配置:systemctl daemon-reload,再 systemctl enable --now mariadb
  • 注意:不要用 ln -s /apps/mariadb-11.4.5 /usr/local/mysql 捷径,systemd 不认软链里的 basedir,日志里会报 Cannot find mysqld

初始化成功后连不上 root 怎么办?

11.4 默认启用 unix_socket 插件认证,意味着 mysql -u root 成功,但 mysql -u root -p 一定失败——这不是密码错了,是认证方式不匹配。

解决路径只有两条:

  • 初始化时加 --auth-root-authentication-method=normal(见上一节)
  • 初始化后用系统用户进库再切认证方式:sudo mysql -u root → ALTER USER 'root'@'localhost' IDENTIFIED VIA mysql_native_password USING PASSWORD('yourpass'); → FLUSH PRIVILEGES;
  • 别漏掉 FLUSH PRIVILEGES;,否则改完也不生效

真正容易被忽略的是:mariadb 11.4 的 mysql_secure_installation 脚本在二进制部署下默认不带,得自己从源码或包管理器安装的版本里拷一个过来用,否则无法交互式设密码。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

2023.06.29

2345

3

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2023.08.14

3681

10

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

2023.08.31

2511

3

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.05

847

5

vb中怎么连接access数据库
vb中怎么连接access数据库

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

2267

5

数据库对象名无效怎么解决
数据库对象名无效怎么解决

数据库对象名无效解决办法:1、检查使用的对象名是否正确,确保没有拼写错误;2、检查数据库中是否已存在具有相同名称的对象,如果是,请更改对象名为一个不同的名称,然后重新创建;3、确保在连接数据库时使用了正确的用户名、密码和数据库名称;4、尝试重启数据库服务,然后再次尝试创建或使用对象;5、尝试更新驱动程序,然后再次尝试创建或使用对象。

2023.10.16

2287

4

vb连接access数据库的方法
vb连接access数据库的方法

vb连接access数据库方法:1、使用ADO连接,首先导入System.Data.OleDb模块,然后定义一个连接字符串,接着创建一个OleDbConnection对象并使用Open() 方法打开连接;2、使用DAO连接,首先导入 Microsoft.Jet.OLEDB模块,然后定义一个连接字符串,接着创建一个JetConnection对象并使用Open()方法打开连接即可。

2023.10.16

2793

3

vb连接数据库的方法
vb连接数据库的方法

vb连接数据库的方法有使用ADO对象库、使用OLEDB数据提供程序、使用ODBC数据源等。详细介绍:1、使用ADO对象库方法,ADO是一种用于访问数据库的COM组件,可以通过ADO连接数据库并执行SQL语句。可以使用ADODB.Connection对象来建立与数据库的连接,然后使用ADODB.Recordset对象来执行查询和操作数据;2、使用OLEDB数据提供程序方法等等。

2023.10.19

2121

3

mdf文件导入数据库的方法
mdf文件导入数据库的方法

mdf文件导入数据库的方法有使用SQL Server Management Studio、使用SQL Server命令行工具、使用SQL Server Integration Services等方法。想了解更多mdf文件导入数据库的方法的相关内容,可以阅读本专题下面的文章。

2023.10.23

2173

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习