在宝塔docker应用商店安装mysql遇到的问题:

[System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.4.3) initializing of server in progress as process 80
[ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
[ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.

报错信息上面那些,大概原因是因为权限导致/var/lib/mysql目录没法初始化之类的。
解决办法:
修改/www/dk_project/dk_app/mysql/mysql_8../docker-compose.yml文件,增加权限privileged,和user权限即可。

services:
  mysql_8.4.3:
    image: mysql:${VERSION}
    #    container_name: ${CONTAINER_NAME}
    deploy:
      resources:
        limits:
          cpus: ${CPUS}
          memory: ${MEMORY_LIMIT}
    restart: always
    #增加privileged,和user
    privileged: true
    user: root
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
    ports:
      - ${HOST_IP}:${MYSQL_PORT}:3306
    volumes:
      - /www/dk_project/dk_app/mysql/mysql_8.*.*/datas/:/var/lib/mysql
      - ${APP_PATH}/my.cnf:/etc/my.cnf
      - ${APP_PATH}/log:/var/log/mysql
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    labels:
      createdBy: "bt_apps"
    command: ${COMMAND}
    networks:
      - baota_net

networks:
  baota_net:
    external: true

修改过后删除/www/dk_project/dk_app/mysql/mysql_8../路径下的data和log目录
重新启动容器后你会发现mysql正常初始化了。

最后修改:2025 年 02 月 20 日
如果觉得我的文章对你有用,请随意赞赏