一、找mysql镜像
在fnOS中打开【Docker】应用,选择镜像仓库输入【MySQL】搜索镜像,找到自己需要的镜像下载。
二、创建MySQL在NAS上映射的文件夹
在你想要的位置创建 mysql文件夹。
三、添加容器并启动容器
打开桌面的【Docker】应用,点击右上角的添加容器,容器名称、资源限制任意即可,【勾选☑️】开机自动开启。
点击【下一步】,进行端口设置和存储设置
端口设置:容器端口3306映射到本地3306端口,33060端口可以删可以保留,暂时不用不到
储存位置:分别把前面创建的qwx_space/mysql文件夹映射到【/var/lib/mysql】。
如下图照抄就行,没有的话就点【添加路径】自己手动添加。
滚动条向下滚动,找到【环境变量】设置,添加如下的环境变量:
# root数据库密码变量MYSQL_ROOT_PASSWORD=as123456# 字符编码变量MYSQL_CHARACTER_SET_SERVER=utf8mb4MYSQL_COLLATION_SERVER=utf8mb4_unicode_ci按图照抄,把代码复制进去,只有【MYSQL_ROOT_PASSWORD】后面的【as123456】是数据库的登录密码自己换成你自己的密码,这个密码很重要,要记好!!!
其他都保持默认,设置好下一步创建完成即可。
3.1 需要注意的是,我前面创建的文件夹路径,根据路径是:/vol2/1000/qwx_space/mysq
如何查看根路径:
四、创建数据库
找到容器中已经启动运行的【MySQL】,点击容器的【…】选择【终端】,点击【/bin/bash】连接
依次输入以下命令:
# 下面代码mysql是容器名称,根据自己创建的名称修改mysql-uroot-p输入部署的时候设置的 【root】 密码,上面让记住的那个密码哦!!!
运行以下代码,允许【root】用户将自己拥有的权限授予其它用户:
GRANT ALL PRIVILEGES ON *.* TO'root'@'%'WITH GRANT OPTION;刷新权限:
# 运行以下命令以确保权限生效:FLUSH PRIVILEGES;创建数据表:
# 下面代码[Gitea]就是数据库名,只有在数据库不存在时才创建 Gitea 数据库,防止重复创建引起错误。CREATE DATABASE IF NOT EXISTS Gitea;五、遇到的问题,以及解决过程
5.1 启动报错:
2025-10-14T16:56:33.304763Z0[System][MY-010931][Server]/usr/sbin/mysqld: readyforconnections. Version:'8.0.43'socket:'/var/run/mysqld/mysqld.sock'port:3306MySQL Community Server - GPL.2025-10-14T16:56:33.304774Z0[System][MY-011323][Server]X Plugin readyforconnections. Bind-address:'::'port:33060, socket: /var/run/mysqld/mysqlx.sock
解决方法:
授权
chmod-R755/vol2/1000/qwx_space/chown-R999:999 /vol2/1000/qwx_space/5.2 连接mysql报错
连接mysql报错:2059 Authenticaton plugin'caching_sha_password'bonnot be loaded该错误是由于MySQL 8.0及以上版本默认使用caching_sha2_password加密方式,而部分客户端工具或旧版本驱动不支持该插件所致12。以下是解决方案
5.2.1 临时解决方法:
ALTERUSER'root'@'%'IDENTIFIEDWITHmysql_native_passwordBY'a12345678';FLUSHPRIVILEGES;其中’a12345678’ 是你之前设置的密码。
这种方式驱动包为:com.mysql.jdbc.Driver
这种方式,有可能碰到docker重启后配置实效(不一定,偶尔碰到过)。
5.2.2 最佳解决方法
caching_sha2_password是mysql8.0推荐的方式。推荐直接更好驱动包
把配置里的驱动包换成com.mysql.cj.jdbc.Driver,例如:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver查看验证方式sql:
SELECTuser,host,pluginFROMmysql.userWHEREuser='root';查看结果:
5.3 时区修改
环境变量里,增加TZ=Asia/Shanghai