初始化 mysql 目录错误

2022-08-30 15:41:26

我检查了此页面: http://dev.mysql.com/doc/refman/5.7/en/mysql-install-db.html

mysql_install_db但是,当我使用.它会促进这些错误和警告。mysqld --initialize

[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

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

第一个可以忽略不计:如何启用explicit_defaults_for_timestamp?

我不知道如何解决第二个问题。


答案 1

请仔细阅读错误:

[错误] --初始化指定的,但数据目录中有文件。中止。

您的目录不为空。您必须删除其所有内容或选择另一个。


答案 2

我在Kubernetes和MySQL 5.7上也有这个问题。

yosifki的建议添加到我的容器的定义中,使事情变得正常。

新的 ext4 磁盘分区通常不为空;有一个失而复得的目录,众所周知,mysql会阻塞它。您可以尝试将--ignore-db-dir=lost+found添加到CMD中以确定(来自mysql文档)

以下是我的工作YAML定义的摘录:

name: mysql-master
image: mysql:5.7
args:
  - "--ignore-db-dir=lost+found"

在这里,一个 docker-compose 代码段,以便更好地阐明:

version: '3'
services:
  mysql-master:
    image: mysql:5.7
    command: [--ignore-db-dir=lost+found]
    environment:
      - MYSQL_ROOT_PASSWORD=root

推荐