树莓派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