rancher2部署MySQL无法挂载Longhorn创建的pvc,怎么办?

环境描述:

rancher版本:v2.5.7

Longhorn版本:v1.1.1

MySQL版本:v5.7.26

 

问题描述:

在rancher界面部署MySQL,在“数据卷”处创建一个Longhorn的pvc持久化挂载/var/lib/mysql目录,MySQL无法启动,报错日志如下:

2021/6/30 下午5:27:45 Initializing database
2021/6/30 下午5:27:45 2021-06-30T09:27:45.961062Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021/6/30 下午5:27:45 2021-06-30T09:27:45.964617Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2021/6/30 下午5:27:45 2021-06-30T09:27:45.964676Z 0 [ERROR] Aborting

rancher2部署MySQL无法挂载Longhorn创建的pvc,怎么办?

问题原因:

因为Longhorn为块存储设备,在创建一个pvc时,会自动创建一个lost+found目录, mysql 初始化的时候 data 目录是不能有任何文件的,所以报 initialize specified but the data directory has files in it. 

拿了一个redis做实验,挂载目录下确实有一个lost+found目录:
rancher2部署MySQL无法挂载Longhorn创建的pvc,怎么办?

 

解决方法:

根据MySQL官方提示(链接:https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_ignore-db-dir),在启动命令处加入一条“--ignore-db-dir=lost+found”即可解决。

在rancher上部署的MySQL,可以加在“入口/命令”的位置,如下截图:

rancher2部署MySQL无法挂载Longhorn创建的pvc,怎么办?

上一篇:Rancher 运行Docker本地镜像生成服务


下一篇:Rancher2+Docker+SpringCloud+Jenkins+Redis集群+MySQL主从搭建(二)CentOs7 安装docker