树莓派5 安装Mysql (Docker + mariadb)方案

笔记:2025年6月19日22:53:16

树莓派系统里面有自带的mariadb,但是我没用,我使用的docker

创建持久化数据文件夹和配置文件:/data/mysql 数据 /data/mysql/conf.d 配置

复制代码
mkdir -p /data/mysql/conf.d
vim /data/mysql/conf.d/remote.cnf

配置添加:

复制代码
[mysqld]
bind-address = 0.0.0.0

docker run -d \
  --name=mysql \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -p 3306:3306 \
  -v /data/mysql:/var/lib/mysql \
  -v /data/mysql/conf.d:/etc/mysql/conf.d \
  --restart unless-stopped \
  jsurf/rpi-mariadb

进入容器终端

复制代码
docker exec -it mysql bash

安装文本编辑器(vim)

复制代码
apt-get update && apt-get install -y vim

修改 MariaDB 配置文件

复制代码
vim /etc/mysql/my.cnf

[mysqld]
bind-address = 0.0.0.0  # 允许所有IP连接
skip-networking = 0     # 确保网络功能启用

退出并重启容器

复制代码
exit

docker restart mysql

进入 MySQL 命令行

复制代码
docker exec -it mysql mysql -u root -p

输入密码 123456

执行权限命令(授权和创建二选一)

-- 授予root用户从任意IP连接的权限(生产环境不建议!)

复制代码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

-- 或者创建一个专用远程用户(推荐)

复制代码
CREATE USER 'root'@'%' IDENTIFIED BY 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

-- 刷新权限

复制代码
FLUSH PRIVILEGES;

使用 Navicat Premium 16 导数据问题(8.0版本向5.6/5.7、mariadb):

MySql 8.0 以上引入了 utf8mb4_0900_ai_ci(基于 Unicode 9.0 的排序规则)

所以需要将自己的数据库先转存sql文件,编辑(全文)替换,然后运行sql文件即可

utf8mb4_0900_ai_ci 为 utf8mb4_general_ci

树莓派性能有限,建议添加以下优化配置(我4GB,没用):

mysqld

max_connections = 50

key_buffer_size = 16M

thread_stack = 256K

thread_cache_size = 8

相关推荐
Lonely 净土2 小时前
Linux 运维文件写入操作
linux·运维·服务器·文件管理
城管不管2 小时前
重生——第十一次面试之挖财一面2026.8.19已OC
java·服务器·jvm·数据库·spring·面试·职场和发展
倔强的石头1062 小时前
向量数据库从相似度检索走向融合数据底座
数据库
今天AI了吗4 小时前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·数据库·人工智能·python·sql·深度学习·机器学习
卷无止境4 小时前
Windows 上丝滑开发 Python,并稳定构建 Docker 镜像
后端·python·docker
夜雪一千5 小时前
MySQL 全局锁是什么?原理、风险、备份踩坑完整实战
android·mysql·adb
lilian2335 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
吠品5 小时前
Wine 在 Linux 上运行 Windows 软件完整指南
java·linux·服务器
皮卡丘不断更5 小时前
手机优先的 Personal Ledger:把账目、学习和复盘放到同一个入口
数据库·sqlite·fastapi·开源项目·个人效率
保卫大狮兄6 小时前
设备管理从台账到报废,完整生命周期一次讲清
数据库·设备管理·设备