Hello! 欢迎来到小浪云!


Kubernetes 部署 MySQL 5.7 遇到 CrashLoopBackOff 错误:如何排查 mysqld failed while attempting to check config 问题?


avatar
小浪云 2024-11-11 39

Kubernetes 部署 MySQL 5.7 遇到 CrashLoopBackOff 错误:如何排查 mysqld failed while attempting to check config 问题?

kubernetes 部署 mysql 5.7 报错 crashloopbackoff

问题:

kubernetes 集群中部署 mysql 5.7 时,pod 处于 crashloopbackoff 状态,并输出错误消息:mysqld failed while attempting to check config。

原因:

检查配置时出错,可能是配置文件有误所致。

解决方法:

  1. 检查配置文件:

    • 查看 mysqld.cnf 文件,确保配置正确无误。
    • 检查数据目录中的其他配置文件。
  2. 检查启动脚本:

    • 确认 /usr/bin/mysql_entrypoint 脚本的内容正确。
    • 确保脚本能够正确执行 mysql_install_db 命令。
  3. 检查容器环境:

    • 确保容器中安装了必要的依赖项。
    • 确保容器中的用户具有适当的权限。
  4. 检查存储卷:

    • 确保分配给 mysql 持久卷的存储空间足够。
    • 确保卷的访问模式与容器配置相匹配。
  5. 重新部署 pod:

    • 删除报错的 pod。
    • 重新创建 pod,确保更新了修复后的配置。

以下是部分涉及的文件示例:

deployment yaml:

apiversion: apps/v1 kind: deployment metadata:   name: mysql-deployment spec:   replicas: 1   selector:     matchlabels:       app: mysql   template:     metadata:       labels:         app: mysql     spec:       containers:       - name: mysql         image: mysql:5.7         env:         - name: mysql_root_password           value: root         ports:         - containerport: 3306         volumemounts:         - mountpath: /var/lib/mysql           name: mysql-storage       volumes:       - name: mysql-storage         persistentvolumeclaim:           claimname: mysql-pvc
登录后复制

persistentvolume yaml:

apiversion: v1 kind: persistentvolume metadata:   name: mysql-pv spec:   capacity:     storage: 10gi   accessmodes:     - readwriteonce   hostpath:     path: /var/lib/mysqlyaml/mysqlvolume
登录后复制

persistentvolumeclaim yaml:

apiVersion: v1 kind: PersistentVolumeClaim metadata:   name: mysql-pvc spec:   accessModes:     - ReadWriteOnce   resources:     requests:       storage: 10Gi
登录后复制

相关阅读