用Docker Compose搭建WordPress时出现Failed to initialize DD Storage Engine、Dictionary initialization failed

问题概述:用Docker Compose搭建WordPress时出现Failed to initialize DD Storage Engine、Data Dictionary initialization failed.的错误

1、错误信息

截图:

my_wordpress-db-1         | 2022-09-25 06:42:54+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.27-1debian10 started.
my_wordpress-db-1         | 2022-09-25 06:42:54+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
my_wordpress-db-1         | 2022-09-25 06:42:54+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.27-1debian10 started.
my_wordpress-db-1         | 2022-09-25T06:42:56.001990Z 0 [Warning] [MY-010918] [Server] 'default_authentication_plugin' is deprecated and will be removed in a future release. Please use authentication_policy instead.
my_wordpress-db-1         | 2022-09-25T06:42:56.002040Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.27) starting as process 1
my_wordpress-db-1         | 2022-09-25T06:42:56.044303Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
my_wordpress-db-1         | 2022-09-25T06:42:56.389295Z 1 [ERROR] [MY-012960] [InnoDB] Cannot create log files because data files are corrupt or the database was not shut down cleanly after creating the data files.
my_wordpress-db-1         | 2022-09-25T06:42:56.389374Z 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Generic error.
my_wordpress-wordpress-1  | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.19.0.3. Set the 'ServerName' directive globally to suppress this message
my_wordpress-wordpress-1  | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.19.0.3. Set the 'ServerName' directive globally to suppress this message
my_wordpress-wordpress-1  | [Sun Sep 25 06:42:56.717507 2022] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.51 (Debian) PHP/7.4.27 configured -- resuming normal operations
my_wordpress-wordpress-1  | [Sun Sep 25 06:42:56.717599 2022] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
my_wordpress-db-1         | 2022-09-25T06:42:56.824291Z 1 [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine
my_wordpress-db-1         | 2022-09-25T06:42:56.825425Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
my_wordpress-db-1         | 2022-09-25T06:42:56.825627Z 0 [ERROR] [MY-010119] [Server] Aborting
my_wordpress-db-1         | 2022-09-25T06:42:56.826573Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.27)  MySQL Community Server - GPL.

2、原因

错误发生原因暂时不清楚,可能是mysql镜像、容器有多个,导致冲突了,有见解的同学可以在评论区帮忙解惑一下,谢谢

3、解决办法

(1)把所有的关于mysql的镜像、容器全部删除

(2)用以下命令查找所有关于mysql的文件,然后全部删除

find / -name mysql

(3)不要使用官方的yml,用以下我修改过的yml

services:
  db:
    image: mysql:latest
    command:
      --default-authentication-plugin=mysql_native_password
    volumes:
      - /home/mysql/data:/var/lib/mysql
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=somewordpress
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wordpress
      - MYSQL_PASSWORD=wordpress
    expose:
      - 3306
      - 33060
  wordpress:
    image: wordpress:latest
    volumes:
      - wp_data:/var/www/html
    ports:
      - 80:80
    restart: always
    environment:
      - WORDPRESS_DB_HOST=db
      - WORDPRESS_DB_USER=wordpress
      - WORDPRESS_DB_PASSWORD=wordpress
      - WORDPRESS_DB_NAME=wordpress
volumes:
  wp_data:

(4)重新用docker compose up命令启动即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker ComposeDocker 官方推出的工具,用于定义和运行多个 Docker 容器的应用。它可以通过一个 YAML 文件来配置应用程序的服务,然后使用一个命令即可创建和启动所有配置的服务。 本文将介绍如何使用 Docker Compose 搭建 WordPress。 1. 安装 DockerDocker Compose 在开始之前,需要先安装 DockerDocker Compose。具体安装方法可以参考 DockerDocker Compose 的官方文档。 2. 创建 docker-compose.yml 文件 在本地创建一个新的目录,并创建一个名为 docker-compose.yml 的文件。在该文件中,定义 WordPress 和 MySQL 服务的配置。具体配置如下: ```yaml version: '3.3' services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: example wordpress: depends_on: - db image: wordpress:latest ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: example WORDPRESS_DB_NAME: wordpress volumes: db_data: ``` 以上配置创建了两个服务:一个 MySQL 服务(db),一个 WordPress 服务(wordpress)。其中,MySQL 服务使用了 MySQL 5.7 镜像,并挂载了一个数据卷 db_data,用于持久化数据。WordPress 服务使用了最新的 WordPress 镜像,并将容器的 80 端口映射到本地的 8000 端口。WordPress 服务还依赖于 MySQL 服务,因此在服务定义中使用了 depends_on 字段。最后,定义了 MySQL 和 WordPress 服务的环境变量,用于配置数据库连接和认证信息。 3. 启动服务 在终端中,进入到 docker-compose.yml 文件所在的目录,并运行以下命令启动服务: ``` docker-compose up -d ``` 该命令将创建并启动 MySQL 和 WordPress 服务。其中,-d 参数用于将服务放在后台运行。 4. 访问 WordPress 在浏览器中访问 http://localhost:8000,即可看到 WordPress 的安装页面。按照页面提示,输入数据库连接信息和管理员账号信息,即可完成 WordPress 的安装。 5. 停止服务 如果需要停止服务,可以在终端中进入到 docker-compose.yml 文件所在的目录,并运行以下命令: ``` docker-compose down ``` 该命令将停止并删除所有服务容器。同,如果之前创建了数据卷,也会将其删除。如果需要保留数据卷,可以使用以下命令: ``` docker-compose down --volumes ``` 以上就是使用 Docker Compose 搭建 WordPress 的完整步骤。通过使用 Docker Compose,我们可以非常方便地创建和管理多个 Docker 容器,并将它们组合成一个完整的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值