docker部署mariadb 12.1.2版本,支持arm架构

1、拉取镜像

bash 复制代码
x86架构
docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/mariadb:latest
arm架构
docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/linux_arm64_mariadb:latest
mariadb 版本是12.1.2版本

运行容器

bash 复制代码
docker run -d -p 3306:3306 \
  --name mariadb --privileged=true \
  -e MYSQL_ROOT_PASSWORD="68WcxQhIcN206LrO" \
  -e MYSQL_USER="root" \
  -e MYSQL_PASSWORD="68WcxQhIcN206LrO" \
  -e MYSQL_DATABASE="mariadb" \
  -v /data/mariadb/my.cnf:/etc/mysql/my.cnf \
  -v /data/mariadb/data:/var/lib/mysql \
  -v /data/mariadb/logs:/var/log/mysql \
  -v /etc/localtime:/etc/localtime:ro \
registry.cn-hangzhou.aliyuncs.com/qiluo-images/mariadb:latest

完整的 MariaDB 安装脚本

创建 install-mariadb.sh:

bash 复制代码
#!/bin/bash

# 设置变量
DB_NAME="mariadb"
DB_USER="root"
DB_PASSWORD="68WcxQhIcN206LrO"
DATA_DIR="/data/mariadb"
PORT="3306"

# 创建数据目录
sudo mkdir -p ${DATA_DIR}/{data,logs,conf}
sudo chmod -R 777 ${DATA_DIR}

# 创建配置文件
cat > ${DATA_DIR}/conf/my.cnf << EOF
[mysqld]
server-id = 100
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
max_connections = 1000
max_allowed_packet = 256M
log-bin = mysql-bin
binlog_format = row
expire_logs_days = 7
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4
EOF

# 停止并移除现有容器
docker stop mariadb 2>/dev/null
docker rm mariadb 2>/dev/null

# 运行 MariaDB 容器
docker run -d \
  --name mariadb \
  --restart=unless-stopped \
  --privileged=true \
  -p ${PORT}:3306 \
  -e MYSQL_ROOT_PASSWORD=${DB_PASSWORD} \
  -e MYSQL_DATABASE=${DB_NAME} \
  -e MYSQL_USER=${DB_USER} \
  -e MYSQL_PASSWORD=${DB_PASSWORD} \
  -v ${DATA_DIR}/data:/var/lib/mysql \
  -v ${DATA_DIR}/logs:/var/log/mysql \
  -v ${DATA_DIR}/conf/my.cnf:/etc/mysql/conf.d/my.cnf \
  -v /etc/localtime:/etc/localtime:ro \
  registry.cn-hangzhou.aliyuncs.com/qiluo-images/mariadb:latest \
  --character-set-server=utf8mb4 \
  --collation-server=utf8mb4_unicode_ci

echo "MariaDB 安装完成!"
echo "连接信息:"
echo "主机: localhost:${PORT}"
echo "用户名: ${DB_USER}"
echo "密码: ${DB_PASSWORD}"
echo "数据库: ${DB_NAME}"
相关推荐
星恒随风6 分钟前
Linux进程间通信(一):从匿名管道、命名管道到进程池,深入理解Pipe、FIFO与文件描述符
linux·运维·笔记·学习·状态模式
clz131452117 分钟前
Dify的Windows平台部署:从Docker安装到Dify运行
windows·docker·容器
刘胡子大叔43 分钟前
服务器不能编译怎么办
运维·服务器
每日品牌解读1 小时前
企业经由 API 调用大模型,推荐哪些拥有数据隐私保护能力的平台?
运维·网络
竣达技术1 小时前
就地显示 + 远程上传,铅酸蓄电池在线监测完整解决方案
运维·数据库
Allstar_431 小时前
拆解全星APQP系统的六大核心质量工具如何联动——汽车供应链企业专业级研发项目管理系统
运维·服务器
随便写个软件2 小时前
【新版本】EasyExplorer资源管理器 3.12.0——地址栏重要更新
运维·服务器·前端·everything·资源管理器
虚无的纽扣2 小时前
【Linux】揭开文件系统神秘的面纱:第四讲:可执行文件的组装车间
linux·运维·服务器
YMWM_2 小时前
ubuntu系统字体缩放配置
linux·运维·ubuntu
数据中心论坛(公众号同名)2 小时前
补水管道巨响抖动|数据中心水箱振动故障拆解(下篇)
大数据·运维