中文资讯 掘金 AI Sun, 01 Nov 2026 正文 ok 139 words

MariaDB 数据库入门:Docker 容器化部署与 MySQL 核心特性对比

英文标题:mariadb数据库

本文介绍了开源关系型数据库 MariaDB 的发展背景及其与 MySQL 的核心异同,涵盖存储引擎、复制机制及企业级特性的内置策略。文章详细阐述了利用 Docker 快速容器化部署 MariaDB 的实战操作,包括目录挂载、配置文件定制、端口映射以及客户端工具连接验证。对于开发者而言,MariaDB 提供了更高的性能与更为开放的生态支持,是企业级应用中替代或迁移 MySQL 的优质开源方案。
打开原文相关 2 · 机会 0
media3.2 KB media589 B media2.2 KB media2.5 KB media9.6 KB media37.5 KB media11.4 KB media3.9 KB

中文

前言

MariaDB 是一个开源的关系型数据库管理系统(RDBMS),由 MySQL 的原始开发者 Michael Widenius 在 2009 年创建。它作为 MySQL 的一个分支,旨在保持与 MySQL 的高度兼容性,同时提供更快的性能、更多的功能和更开放的社区治理模式。

mariadb数据库

mariadb官网

资料或者安装包可以从官网查看:

text https:

mariadb数据库安装

在 /usr/local/ 路径下,新建一个 mariadb 文件夹:

bash /usr/local/mariadb

然后新建两个文件夹,conf 和 data,用于容器数据挂载:

image.png

在 conf 文件夹下,新建 cuscom.conf 文件:

image.png

文件内容为:

ini [mysqld]

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

max_connections = 300 innodb_buffer_pool_size = 512M innodb_log_file_size = 128M

slow_query_log = ON slow_query_log_file = /var/lib/mysql/slow.log long_query_time = 2

bind-address = 0.0.0.0

[client] default-character-set = utf8mb4

docker安装指令

bash docker run -d --name mariadb --restart=always -p 3307:3306 -v /usr/local/mariadb/data:/var/lib/mysql -v /usr/local/mariadb/conf:/etc/mysql/conf.d -e MARIADB_ROOT_PASSWORD=123456 -e MARIADB_DATABASE=mydb mariadb:latest

将 3306 端口改为挂在 3307 端口,安装成功如下图:

image.png

客户端连接

image.png

image.png

总结

因为它是开源免费的,但是与 MySQL 的区别为:

与 MySQL 的关键区别

维度 MariaDB MySQL
存储引擎 默认 Aria;支持 MyRocks、ColumnStore 等 默认 InnoDB;部分引擎仅企业版提供
复制 支持多源复制、并行复制(更早引入) 并行复制较晚完善
JSON 支持 原生 JSON 类型 + 丰富函数 原生 JSON 类型(5.7+)
版本策略 独立版本号(如 10.x, 11.x) 8.x / 9.x
企业功能 多数免费内置 部分需购买 Enterprise Edition

⚠️ 兼容性注意 :虽然高度兼容,但并非 100% 相同。某些新特性(如 GTID 实现、系统表结构)存在差异,迁移前务必测试。

English / 原文

前言

MariaDB 是一个开源的关系型数据库管理系统(RDBMS),由 MySQL 的原始开发者 Michael Widenius 在 2009 年创建。它作为 MySQL 的一个分支,旨在保持与 MySQL 的高度兼容性,同时提供更快的性能、更多的功能和更开放的社区治理模式

mariadb数据库

mariadb官网

资料或者安装包可以从官网查看

https:

mariadb数据库安装

在/usr/local/路径下,新建一个mariadb文件夹

/usr/local/mariadb

然后新建两个文件夹,conf和data,用于容器数据挂载

image.png 在conf文件夹下,新建cuscom.conf文件

image.png 文件内容为

[mysqld]

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


max_connections = 300
innodb_buffer_pool_size = 512M
innodb_log_file_size = 128M


slow_query_log = ON
slow_query_log_file = /var/lib/mysql/slow.log
long_query_time = 2


bind-address = 0.0.0.0

[client]
default-character-set = utf8mb4

docker安装指令

docker run -d   --name mariadb   --restart=always   -p 3307:3306   -v /usr/local/mariadb/data:/var/lib/mysql   -v /usr/local/mariadb/conf:/etc/mysql/conf.d   -e MARIADB_ROOT_PASSWORD=123456   -e MARIADB_DATABASE=mydb   mariadb:latest

将3306端口改为挂在3307端口,安装成功如下图

image.png

客户端连接

image.png

image.png

总结

因为它是开源免费的,但是与MySQL的区别为

与 MySQL 的关键区别

维度 MariaDB MySQL
存储引擎 默认 Aria;支持 MyRocks、ColumnStore 等 默认 InnoDB;部分引擎仅企业版提供
复制 支持多源复制、并行复制(更早引入) 并行复制较晚完善
JSON 支持 原生 JSON 类型 + 丰富函数 原生 JSON 类型(5.7+)
版本策略 独立版本号(如 10.x, 11.x) 8.x / 9.x
企业功能 多数免费内置 部分需购买 Enterprise Edition

⚠️ 兼容性注意 :虽然高度兼容,但并非 100% 相同。某些新特性(如 GTID 实现、系统表结构)存在差异,迁移前务必测试。