参考资料

  1. Ubuntu-debootstrap 是一个用于在现有 Linux 系统上创建最小化 Ubuntu 根文件系统的工具
  2. docker容器(Container)与镜像的关系?
  3. docker安装包详细说明以及案例
  4. Haxe 是一种开源的跨平台编程语言
  5. Hy(Hylang)是一种基于 Python 的 Lisp 方言,允许开发者使用 Lisp 语法编写代码
  6. MariaDB 是一个开源的关系型数据库管理系统
  7. Photon OS 是一个轻量级的 Linux 发行版
  8. Satosa 是一个高度可配置的 Python 实现的身份代理

MariaDB 是一个开源的关系型数据库管理系统

MariaDB 简介

MariaDB 是一个开源的关系型数据库管理系统,由 MySQL 的原始开发者 Monty Widenius 创建,旨在保持与 MySQL 的高度兼容性,同时提供更多功能和改进。

MariaDB 特点

  1. 兼容 MySQL:支持 MySQL 的协议、API 和命令,可无缝替代 MySQL。

  2. 高性能:优化了存储引擎(如 Aria、XtraDB、InnoDB),提升查询速度。

  3. 开源免费:遵循 GPL 许可证,无商业限制。

  4. 扩展功能:支持 JSON、GIS、动态列等高级特性。

  5. 高可用性:提供 Galera Cluster 实现多主复制。

  6. 安全性增强:支持更多加密选项和权限控制。

最新更新内容及时间

  • 最新稳定版:MariaDB 11.3.2(2024 年 3 月发布)

    • 改进查询优化器

    • 增强 JSON 功能

    • 修复安全漏洞

镜像下载地址

官网地址

https://mariadb.org/  

阅读文档地址

https://mariadb.com/kb/en/documentation/  

Docker 安装示例

docker run --name mariadb -e MYSQL_ROOT_PASSWORD=your_password -p 3306:3306 -d mariadb:latest

YAML 设置教程(以 Docker Compose 为例)

version: '3'
services:
  mariadb:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: your_password
      MYSQL_DATABASE: your_db
      MYSQL_USER: your_user
      MYSQL_PASSWORD: your_user_password
    ports:
      - "3306:3306"
    volumes:
      - ./data:/var/lib/mysql

常见错误及解决方法

  1. 无法连接数据库

    • 检查端口是否开放(默认 3306)。

    • 确认用户名和密码正确。

  2. 启动失败(权限问题)

    • 确保数据目录权限正确:  

      chown -R mysql:mysql /var/lib/mysql
  3. InnoDB 崩溃恢复

    • 若数据库异常关闭,尝试:  

      mysqld --innodb_force_recovery=1
  4. 内存不足

    • 调整 my.cnf 配置,优化 innodb_buffer_pool_size

  5. 字符集问题

    • my.cnf 中设置默认字符集:  

      [mysqld]
      character-set-server=utf8mb4
      collation-server=utf8mb4_unicode_ci