programing

mysql 디렉토리 오류 초기화 중

css3 2023. 10. 7. 12:09

mysql 디렉토리 오류 초기화 중

이 페이지를 확인했습니다. 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_time stamp를 활성화하는 방법은 무엇입니까?

두 번째 문제를 어떻게 풀어야 할지 모르겠습니다.

오류를 주의 깊게 읽어 주십시오.

[ERROR] - 초기화를 지정했지만 데이터 디렉토리에 파일이 있습니다.중단.

디렉토리가 비어 있지 않습니다.내용물을 모두 삭제하거나 다른 내용을 선택해야 합니다.

Kubernetes와 MySQL 5.7에서도 이 문제가 있었습니다.

요시프키의 제안을 내 컨테이너의 정의에 추가하면 일이 잘 풀립니다.

새 ext4 디스크 파티션은 일반적으로 비어 있지 않습니다. mysql이 초킹하는 것으로 알려진 lost+found 디렉토리가 있습니다.확실히 하려면 CMD에 -- ignore-db- dir= lost+founded 를 추가해 보십시오(mysql 문서에서).

작업 중인 YAML 정의의 발췌본은 다음과 같습니다.

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

그리고 여기, 더 명확하게 하기 위한 도커 구성의 토막글이 있습니다.

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

저는 샘플 문제에 직면했습니다.컨테이너 디렉토리의 이름을 변경했습니다.

/var/lib/

로.

/var/lib/minesql 또는 다른 이름

. 이제 컨테이너가 시작되었습니다.

이전 명령:

docker container run --name=mysql -d -e MYSQL_ROOT_PASSWORD=abc1234 -e MYSQL_DATABASE=sample -e MYSQL_USER=ashik -e MYSQL_PASSWORD=abc123 -v mysql_volume:/var/lib/mysql mysql

작업 명령:

docker container run --name=mysql -d -e MYSQL_ROOT_PASSWORD=abc1234 -e MYSQL_DATABASE=sample -e MYSQL_USER=ashik -e MYSQL_PASSWORD=abc123 -v mysql_volume:/var/lib/minesql mysql

enter image description here

일반적으로 데이터 디렉토리가 비어 있지 않음을 의미합니다.가 계속 합니다를 /etc/my.cnf합니다.validate_password_policy초기화 단계에서 variable. 서버를 시작한 후 원하는 모든 것에 이 variable을 설정할 수 있습니다.

/data 디렉토리만 제거합니다.이것은 나를 위해 일했습니다.

이와 같이 간단합니다.

image: mysql:5.7
volumes:
  - ./db:/var/lib/mysql

./db" 디렉토리가 비어 있는지 확인합니다.

다음 기준으로 수정자:rm -rf /usr/local/Cellar/mysql그리고.rm -rf /usr/local/var/mysql.합니다.

또 다른 오류가 발생했습니다. 이 오류는 다음에 의해 수정되었습니다. 경고: Mac OS High Sierra에서 brew를 사용하여 mysql을 설치하려고 할 때 설치 후 단계가 성공적으로 완료되지 않았습니다.

Docker Desktop 일 수 Docker.qcow2최대 크기를 초과했습니다.이 파일의 기본 크기는 64GB 입니다. 할 수도 보다 인 솔루션을 위해 도 있습니다.크기를 조정할 수도 있고, 보다 획기적인 솔루션을 위해 삭제할 수도 있습니다.

rm ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2

참조:

제 이 해결책이었습니다.docker-compose.yml

출처:

image: mysql:5.6
    volumes:
      - ./db:/var/lib/mysql/data

로.

image: mysql:5.6
    volumes:
      - ./db_data:/var/lib/mysql/data

그리고 다시 달려요.sudo docker-compose build

sudo docker-compose up

그런 를 해야 할 도 있습니다.sudo docker-compose run web rake db:createRails 앱을 사용할 수 있습니다.

는 없었습니다.mysql에 있는 폴더/usr/local.

나같은 경우에는mysql/usr/local/var

그렇게rm -rf /usr/local/var/mysql

@Eugene Lisitsky의 답변에 제시된 대로 진행하며 = /var/lib/ mysql 디렉토리, mysql 디렉토리 내용을 지웁니다.다로 .innodb_force_recovery/etc/my.cnf 구성 파일(또는 자체 파일로 인한 초기화/설치를 방지할 수 있는 다른 대체 구성)에 존재합니다.

ulimit -l을 사용하여 잠긴 메모리 제한 증가

이 접근 방식에 대한 자세한 내용은 아래를 참조하십시오.

도커에 문제가 있습니다.이 특정 서버에서는 100개 이상의 컨테이너와 약 30개의 MySQL 컨테이너를 실행하고 있습니다.

오랜 탐색과 몇 가지 시도 끝에 도커 컨테이너가 많은 것과 관련된 문제라는 것을 알게 되었지만, 저는 어떤 한계도 발견하지 못했습니다.

볼륨이 없는 경우에도 오류가 나타나므로 디렉토리에 일부 파일이 있는 것과 관련된 것은 없습니다.

3일 후에 MySQL을 MariaDB 이미지로 교체하는 테스트를 하고, 마침내 오류에 대한 적절한 메시지가 나타납니다.

로그에 따르면 InnoDB는 시스템의 메모리 잠금 제한이 충분하지 않기 때문에 초기화할 없다고 합니다.다음과 같이 읽거나 설정할 수 있는 시스템 제한limit -l.

후Ps: ulimit /etc/security/limits.conf일.

따라서 그 후에는 현재 값을 두 배로 늘리도록 제한을 늘린 다음 MySQL에서 메시지와 함께 보다 명확한 로그를 받습니다.

AIO 하위 시스템을 초기화할 수 없음

.aio-max-nr시스템으로부터의 값.현재 값을 읽으려면 다음과 같이 하십시오.aio-max-nr, 실행에 옮기다cat /proc/sys/fs/aio-max-nr.

새 값을 설정하려면 다음을 실행합니다.sudo sysctl -w fs.aio-max-nr=524288할 때 합니다./etc/sysctl.conf새로운 가치를 지닌

이 설정을 편집한 후 MySQL 컨테이너를 다시 실행합니다.하지만 이제 첫 번째 오류 없이 실행하려면 /var/lib/mysql 폴더를 재설정하거나 지워야 합니다.

SELinux를 사용하지 않도록 설정합니다.

Setenforce 0

또한 /var/logs/mysql 폴더에 로그 디렉터리를 생성합니다. mysql 사용자 소유자를 지정해야 합니다.

cd /var/log/
mkdir mysql
chown -R mysql:mysql mysql/

그런 다음 /etc/my.cnf에서 로그 디렉터리를 변경합니다.

언급URL : https://stackoverflow.com/questions/37644118/initializing-mysql-directory-error