MariaDB 数据库入门:Docker 容器化部署与 MySQL 核心特性对比
英文标题:mariadb数据库
本文介绍了开源关系型数据库 MariaDB 的发展背景及其与 MySQL 的核心异同,涵盖存储引擎、复制机制及企业级特性的内置策略。文章详细阐述了利用 Docker 快速容器化部署 MariaDB 的实战操作,包括目录挂载、配置文件定制、端口映射以及客户端工具连接验证。对于开发者而言,MariaDB 提供了更高的性能与更为开放的生态支持,是企业级应用中替代或迁移 MySQL 的优质开源方案。
2.2 KB
2.5 KB
9.6 KB
37.5 KB
11.4 KB
3.9 KB
中文
前言
MariaDB 是一个开源的关系型数据库管理系统(RDBMS),由 MySQL 的原始开发者 Michael Widenius 在 2009 年创建。它作为 MySQL 的一个分支,旨在保持与 MySQL 的高度兼容性,同时提供更快的性能、更多的功能和更开放的社区治理模式。
mariadb数据库
mariadb官网
资料或者安装包可以从官网查看:
text https:
mariadb数据库安装
在 /usr/local/ 路径下,新建一个 mariadb 文件夹:
bash /usr/local/mariadb
然后新建两个文件夹,conf 和 data,用于容器数据挂载:
在 conf 文件夹下,新建 cuscom.conf 文件:
文件内容为:
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 端口,安装成功如下图:
客户端连接
总结
因为它是开源免费的,但是与 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,用于容器数据挂载
在
conf文件夹下,新建cuscom.conf文件
文件内容为
[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端口,安装成功如下图
客户端连接
总结
因为它是开源免费的,但是与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 实现、系统表结构)存在差异,迁移前务必测试。