前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TKE容器服务部署mysql 5.7以上版本镜像,/var/lib/mysql挂载pvc后无法启动

TKE容器服务部署mysql 5.7以上版本镜像,/var/lib/mysql挂载pvc后无法启动

原创
作者头像
虚心学习
修改于 2019-12-26 10:17:00
修改于 2019-12-26 10:17:00
3K00
代码可运行
举报
文章被收录于专栏:PAASPAAS
运行总次数:0
代码可运行

在体验腾讯云TKE服务,偶然间进行部署个官方 Docker Hub镜像里的mysql 5.7以上镜像,并配置pvc进行数据持久化存储,将对应挂载点绑定在/var/lib/mysql路径,但无法启动

报错

[ERROR] --initialize specified but the data directory has files in it. Aborting.

意思对应磁盘目录有文件无法进行初始化,检查对应挂载目录:只有lost+found

lost+found作用

​lost+found目录的文件通常是未链接的文件(名字已经被删除),但是这些文件还被一些进程使用(数据没有删除),在突然关机时(内核panic或者突然断电)出现,这些文件系统会自动删除,​当因为软件或者硬件出现错误,导致文件系统不一致,也有可能把有问题的文件放到lost+found目录。

它提供了恢复丢失文件的一种方法:用来存放fsck过程中部分修复的文件的。

既然这个目录是在linux系统每个目录下都有的,那就不应该是磁盘的问题。

查阅文档:

github issue中:https://github.com/docker-library/mysql/issues/69

https://github.com/docker-library/mysql/issues/186

new ext4 disk partition is not usually empty; there is a lost+found directory, which mysql is known to choke on. You could try adding --ignore-db-dir=lost+found to the CMD to know for sure

在看mysql官方文档:https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_ignore-db-dir

属于mysql 5.7 以上版本特性,如对应初始化的路径不是空目录,会影响mysql初始化。

解决方法:添加参数:--ignore-db-dir=lost+found 在yaml文件中,忽略对应lost+found目录

yaml文件实例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apiVersion:  extensions/v1beta1
kind: Deployment
metadata:
  annotations:
    description: add --ignore-db-dir=lost+found
  creationTimestamp: null
  generation: 2
  labels:
    k8s-app: mysql-0
    qcloud-app: mysql-0
  name: mysql-0
  namespace: cmcc
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: mysql-0
      qcloud-app: mysql-0
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        k8s-app: mysql-0
        qcloud-app: mysql-0
    spec:
      containers:
      - env:
        - name: MYSQL_ROOT_PASSWORD
          value: "123456"
        image: mysql:5.7.28
        imagePullPolicy: IfNotPresent
        name: mysql-0
        args:
        - "--ignore-db-dir=lost+found"
        resources:
          limits:
            cpu: 500m
            memory: 1Gi
          requests:
            cpu: 250m
            memory: 256Mi
        securityContext:
          privileged: false
          procMount: Default
        volumeMounts:
        - mountPath: /var/lib/mysql
          name: pvc
      dnsPolicy: ClusterFirst
      imagePullSecrets:
      - name: qcloudregistrykey
      - name: tencenthubkey
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      volumes:
      - name: pvc
        persistentVolumeClaim:
          claimName: pvc
status: {}

---
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  name: mysql-0
  namespace: cmcc
spec:
  ports:
  - name: tcp-3306-3306
    nodePort: 0
    port: 3306
    protocol: TCP
    targetPort: 3306
  selector:
    k8s-app: mysql-0
    qcloud-app: mysql-0
  type: ClusterIP
status:
  loadBalancer: {}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于龙芯的Linux源码学习 | 入门篇
最近在中标麒麟实习,自己对 Linux 本身也有一定爱好,使用过不少的 GNU/Linux 发行版,正好看到陈华才老师新出版了《基于龙芯的 Linux 内核探索解析》一书,于是也下载源码跟着老师一同学习,博客开这个大坑也是准备记录自己的学习历程。
uniartisan
2022/03/03
7190
让Typecho支持Emoji
本文作者:博主: gyrojeff    文章标题:让Typecho支持Emoji 本文地址:https://gyrojeff.top/index.php/archives/17/ 版权说明:若无注明,本文皆为“gyro永不抽风!”原创,转载请保留文章出处。 许可协议:署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 转载请保留原文链接及作者! 我的博客即将同步至腾讯云+社区,邀请大家一同入驻
gyro永不抽风
2021/05/21
6300
使Typecho支持最流行的Emoji表情
Typecho默认不支持emoji表情,其实不是程序的锅,而是由于编码的问题,只需要将默认的数据库编码utf8修改为utf8mb4即可,当然别忘了,utf8mb4编码只有在PHP5.5以后才支持。 简单两步即可让typecho支持emoji
逍遥子大表哥
2021/12/17
6520
使Typecho支持最流行的Emoji表情
typecho支持emoji
今天也是突发奇想的购买更换了一个主题,虽然破费了我兜里仅有的58r。但有一说一的是这主题确实不错,唯一不足之处就是没能让作者把他的审美传授给我
是小北a
2022/03/28
6400
typecho支持emoji
Typecho发布文章Database Query Error-星泽V社
刚才发布文章出现 Database Query Error,百度了问题,原因是 Typecho 在初始化数据库的时候,选用了 UTF-8 的编码,而在 MySQL 中,UTF-8 只支持最多 3 个字节,而 emoji 是 4 个字节,所以出现该问题。如果嫌麻烦可以直接删掉 emoji 就可以成功发表了。
星泽V社
2022/04/14
1.6K0
Typecho发布文章Database Query Error-星泽V社
解决Typecho带有Emoji表情Database Query Error报错的处理方法!-星泽V社
今天写文章的时候插入emoji表情竟然「Database Query Error」报错,Typecho 默认不支持 Emoji 表情,这不是程序的锅,而是由于编码的问题造成。 Emoji 是一种在 Unicode 位于u1F601-u1F64F区段的字符。这显然超出了目前常用的 UTF-8 字符集的编码范围u0000-uFFFF。 在 MySQL 中,UTF-8 只支持最多 3 个字节,而 Emoji 是 4 个字节。所以评论中带有 Emoji 表情才会报错。
星泽V社
2022/03/02
1K0
解决Typecho带有Emoji表情Database Query Error报错的处理方法!-星泽V社
Typecho添加emoji表情
1、修改数据库编码 在PhpMyadmin中选择typecho数据库,操作-->排序规则-->选择utf8mb4_unicode_ci然后执行。 或者在服务器中执行(通用版 ) 首先在服务器中执行
云计算小黑
2022/12/28
4650
Typecho中emoji表情不显示
Typecho 默认不支持 Emoji 表情,由于编码的问题而造成,我们只需简单两步即可让 typecho 支持 emoji 表情评论,只要将默认的数据库编码 utf8 修改为 utf8mb4 即可。
qiangzai
2021/12/21
5690
Typecho中emoji表情不显示
让Typecho支持 emoji 的显示
今天有用户反应文章发出后显示不全,我第一时间就想到是自己模板外链转内链功能的bug,因为之前有人反馈过,后来我修复了,我以为还是它有问题,排查了下后发现并不是,然后后台一看文章内容,发现基本全消失了,这就让我想起来hran大佬2015年发过的文章,于是乎转载之
泽泽社长
2023/04/17
2550
让typecho支持emoji
这年头文章里加个emoji很正常吧,但是typecho貌似之前没有考虑到,没有原生支持emoji,但是这怎么能难倒我们勤劳的码农呢!
老高的技术博客
2022/12/27
3840
如何在Typecho显示Emoji表情
解决方法 1.先进入数据库面板,点击SQL运行下列语句(粘贴SQL语句执行即可): SQL语句 alter table typecho_comments convert to character
RJ1027
2021/08/09
1.1K0
如何在Typecho显示Emoji表情
建情人节表白网站(超详细过程,包教包会)
声明:此文章以经过原作者允许进行的二次创作,原作者的博文如下,感谢作者Veen Zhao,带来漂亮的主题
wresource
2022/07/31
1.1K0
建情人节表白网站(超详细过程,包教包会)
两行代码使typecho支持Emoji表情
说明最近实在不知道该写些啥了,由于主题的自带表情还是较为缺少,于是我自己添加了一些表情,所以在此分享一下表情添加方...
Xcnte
2021/12/14
6580
存储emoji表情或特殊字符报错(Incorrect string value: '\xF0\x9F\x98\x82\xF0\x9F...')
我在一篇文章中使用了emoji表情,前面很顺利,不管是WordPress还是其他博客园啥的,都是正常发送。
JanYork_简昀
2022/05/18
6300
存储emoji表情或特殊字符报错(Incorrect string value: '\xF0\x9F\x98\x82\xF0\x9F...')
搭建Typecho博客
https://qqdie.com/plugins/ https://plugins.typecho.me/
MiChong
2020/09/24
1.4K0
搭建Typecho博客
typecho使用emoji表情
1.什么是emoji表情 2.登录phpmyadmin 3.修改服务器连接排序规则 4.选择博客的数据表进行更改 5.总结
堡主
2023/03/04
6740
typecho使用emoji表情
Mysql存储微信Emoji表情问题
上面错误意思是 mysql 数据库中 name 字段插入不正确的字符串值。name 字段是记录微信呢称,设计之出没有考虑到微信呢称中使用 Emoji 表情,导致写入数据失败。
YP小站
2020/06/04
2K0
在Django中使MySQL支持存储Emoji表情????
当我们在Django应用程序中使用MySQL数据库时,可能会遇到无法存储包含Emoji表情的数据的问题。这是因为MySQL默认字符集和校对规则只支持存储基本的Unicode字符集,无法支持Emoji表情字符。在这篇博客中,我将为您介绍如何在Django中使MySQL支持存储Emoji表情。
Hopetree
2023/05/03
9960
MySQL字符集utf8mb4
Unicode是编码字符集,而UTF-8就是字符编码,即Unicode规则字库的一种实现形式。随着互联网的发展,对同一字库集的要求越来越迫切,Unicode标准也就自然而然的出现。它几乎涵盖了各个国家语言可能出现的符号和文字,并将为他们编号。
HLee
2021/07/23
1.6K0
MySQL字符集utf8mb4
MySQL utf8mb4 编码 : 支持emoji表情 (字段或表)
一般我们数据编码格式默认设置为utf-8, 但是utf-8并不支持表情,而表情需要utf8mb4字段(向下兼容utf-8)
一个会写诗的程序员
2020/04/16
4.1K0
相关推荐
基于龙芯的Linux源码学习 | 入门篇
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验