0

0

linux怎么安装MariaDB_linux配置开源数据库环境【教程】

穿越時空

穿越時空

发布时间:2026-03-17 08:05:05

|

838人浏览过

|

来源于php中文网

原创

应使用系统包管理器安装 mariadb-server,而非源码编译;装后需手动启用服务、运行 mysql_secure_installation 初始化安全配置,并修改 bind-address 与防火墙设置以支持远程访问,同时全程统一设为 utf8mb4 字符集。

linux怎么安装mariadb_linux配置开源数据库环境【教程】

直接用系统包管理器装,别下源码编译

绝大多数 Linux 发行版的官方仓库里都有现成打包好的 mariadb-server,版本稳定、依赖自动解决、后续升级也方便。自己编译不仅容易出错,还绕过系统更新机制,后续安全补丁得手动跟——没人这么干。

常见错误现象:systemctl start mariadb 失败,报 Failed to start mariadb.service: Unit mariadb.service not found,大概率是只装了客户端 mariadb,漏了服务端包。

  • Ubuntu/Debian:运行 sudo apt update && sudo apt install mariadb-server
  • CentOS/RHEL 8+:用 sudo dnf install mariadb-server
  • CentOS/RHEL 7:用 sudo yum install mariadb-server

装完默认不启动、不设开机自启,得手动执行 sudo systemctl enable --now mariadb

初始化安全配置必须跑 mysql_secure_installation

刚装完的 MariaDB 默认 root 密码为空,且允许本地无密码登录,还留着 test 数据库和匿名用户——这在任何环境里都是安全隐患。官方提供的 mysql_secure_installation 就是干这个的,不是可选项。

容易踩的坑:mysql_secure_installation 第一步就问 “Enter current password for root (enter for none):”,很多人直接回车,结果卡住或跳过关键步骤。正确做法是:首次运行时直接按回车(表示当前无密码),后续按提示关掉远程 root、删 test 库、禁用匿名用户。

  • 如果已设过 root 密码但忘了,得先停服务:sudo systemctl stop mariadb,再用 sudo mysqld_safe --skip-grant-tables & 启动跳过权限验证,进 mysql -u root 手动重置
  • 该脚本不会动你已有的数据库,只清理默认危险配置

远程访问要开两个口子:配置文件 + 系统防火墙

MariaDB 默认绑定 127.0.0.1,只响应本地连接。想让其他机器连,得改 /etc/mysql/mariadb.conf.d/50-server.cnf(Debian/Ubuntu)或 /etc/my.cnf.d/mariadb-server.cnf(RHEL/CentOS),把 bind-address 改成 0.0.0.0 或具体 IP。

但改完还连不上?八成是防火墙拦了。MariaDB 默认用 3306 端口,得显式放行:

Keevx
Keevx

一款专为海外中小企业和创作者打造的AI数字人视频创作平台

下载
  • ufw(Ubuntu):sudo ufw allow 3306
  • firewalld(RHEL/CentOS):sudo firewall-cmd --permanent --add-port=3306/tcp && sudo firewall-cmd --reload

别忘了给远程用户授权:GRANT ALL ON *.* TO 'user'@'%' IDENTIFIED BY 'pass'; FLUSH PRIVILEGES; —— 注意 '%' 是通配符,不是占位符,得加单引号。

字符集建议从安装时就设成 utf8mb4

默认配置用的是 latin1 或旧版 utf8(实际只支持 BMP 字符),存 emoji、生僻汉字会丢数据或报错 Incorrect string value。这不是后期能“修好”的事,得从初始化就定死。

操作方式:在 [mysqld] 段下加两行:

character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

还要在客户端段加 [client][mysql],都设 default-character-set = utf8mb4,否则命令行连进去看到的仍是乱码。

注意:utf8mb4 对索引长度有影响,比如 VARCHAR(255) 加索引可能超限,建表时得留意 innodb_large_prefix 和行格式。

MariaDB 的配置项分散在多个文件、多个段落里,改一处忘一处是常态。最稳妥的做法是:每次改完配置,用 sudo mysqld --verbose --help | grep "Default options" 确认它到底读了哪些文件,再用 SELECT @@character_set_server, @@collation_server; 在 SQL 里验结果。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

1135

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

340

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

381

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

2257

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

380

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

1763

2024.04.07

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

587

2024.04.29

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

441

2024.04.29

chatgpt使用指南
chatgpt使用指南

本专题整合了chatgpt使用教程、新手使用说明等等相关内容,阅读专题下面的文章了解更多详细内容。

0

2026.03.16

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号