[mysql] mysqld : dir을 데이터로 변경할 수 없습니다. 서버가 시작되지 않습니다

설치 프로그램으로 MySQL 서버를 설치하고 시작했습니다. 재부팅 후 다시 시작하고 오류가 발생했습니다.

D:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld -u root -p
mysqld: Can't change dir to 'D:\Program Files\MySQL\MySQL Server 5.7\data\'     (Errcode: 2 - No such file or directory)
2015-11-17T08:30:18.822962Z 0 [Warning] TIMESTAMP with implicit DEFAULT     value is deprecated. Please use --explicit_defaults_for_timestamp server option     (see documentation for more details).
2015-11-17T08:30:18.822962Z 0 [Warning] Insecure configuration for --secure-    file    -priv: Current value does not restrict location of generated files.     Consider setting it to a valid, non-empty path.
2015-11-17T08:30:18.822962Z 0 [Note] mysqld (mysqld 5.7.9) starting as     process 1108 ...
2015-11-17T08:30:18.838586Z 0 [Warning] Can't create test file D:\Program     Files\MySQL\MySQL Server 5.7\data\DESKTOP-RNBR3E8.lower-test
2015-11-17T08:30:18.838586Z 0 [Warning] Can't create test file D:\Program     Files\MySQL\MySQL Server 5.7\data\DESKTOP-RNBR3E8.lower-test
2015-11-17T08:30:18.838586Z 0 [ERROR] failed to set datadir to D:\Program     Files\MySQL\MySQL Server 5.7\data\
2015-11-17T08:30:18.838586Z 0 [ERROR] Aborting


2015-11-17T08:30:18.838586Z 0 [Note] Binlog end
2015-11-17T08:30:18.838586Z 0 [Note] mysqld: Shutdown complete

MySQL을 다시 설치하려고했습니다.
업데이트 : 관리자로
실행하면 mysqld -u root -p아무 일도 일어나지 않습니다.



답변

Windows 설치 프로그램을 사용했기 때문에 MySQL 5.7을 Windows 서비스로 실행할 수 있도록 모든 것이 설정되었습니다. 이는 대부분의 경우 훌륭한 옵션입니다.

mysqld.exe명령 줄에서 실행하는 대신

  1. Win + R
  2. 운영 services.msc
  3. 오른쪽 클릭 MySQL57
  4. 서비스를 시작하십시오.


답변

나는 같은 문제를 만났다. 제 경우에는 ..\data디렉토리 가 없었으므로 디렉토리에서 명령을 C:\mysql\실행 하고 . 나중에 명령을 사용하여 서버 시작을 테스트 할 수 있습니다 . mysqld --initializec:\mysql\bin\c:\mysql\datamysqld.exe --console


답변

제 경우에는 데이터 디렉토리를 다른 위치에 설치했습니다. 따라서 데이터 디렉토리는 실제로 기본 위치에 없었습니다. 따라서 mysqld명령 프롬프트에서 명령을 실행할 때 데이터 디렉터리를 수동으로 지정해야했습니다.

mysqld --datadir=D:/MySQLData/Data

다음은 mysqld 명령 줄 인수에 대한 문서입니다.


답변

새 설치를 위해 내가 한 작업 (Windows 10) :

  1. 관리자 모드에서 cmd를 시작합니다 (Windows 키를 누르고 cmd를 입력 한 다음 마우스 오른쪽 단추로 클릭하고 “관리자 권한으로 실행”을 선택하여 관리자 권한으로 실행).

  2. “MySQL Server XY”디렉토리로 변경합니다 (전체 경로는 C : \ Program Files \ MySQL \ MySQL Server 5.7 “).

  3. 메모장을 사용하여 데이터 디렉토리를 가리키는 mysqld 섹션으로 my.ini를 만듭니다.

    [mysqld]
    datadir="X:\Your Directory Path and Name"
    
  4. 위의 my.ini에서 식별 된 디렉토리를 생성했습니다.

  5. 서버 디렉토리 아래의 bin 디렉토리로 변경하고 다음을 실행하십시오.
    mysqld --initialize

  6. 완료되면 서비스를 시작하고 정상적으로 작동했습니다.


답변

첫 실행

mysqld -u root --initialize-insecure 

암호없이 사용자로 루트를 사용하여 데이터 폴더를 생성합니다. 그런 다음 실행

mysqld.exe -u root --console


답변

  1. 감독이 있는지 확인하십시오.
  2. 존재하는 경우 mysql에 액세스 권한이 있는지 확인하십시오 (읽기 / 쓰기). MySQL을 시스템 프로세스로 실행하는 것이 좋지만 필수는 아닙니다.

이것이 작동하지 않는 경우 이중 슬래시로 다음 표기법을 사용해보십시오. C : \ WebSerer \ MySQL \ data 또는 C : / WebServer / MySQL / data


답변

mysql 8.0.13 zip 패키지 초기화 중.

  1. 데이터 폴더가 비어 있는지 확인하십시오.

  2. mysql bin 경로에서 실행

    mysqld.exe --initialize-insecure

  3. my.ini 네이티브 mysql에 추가

    [mysqld]

    default_authentication_plugin=mysql_native_password