source

mysqld: dir를 데이터로 변경할 수 없습니다.서버가 기동하지 않는다

factcode 2023. 1. 19. 21:00
반응형

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 my my my my my 。
★★★★★★★
★★★★★★★★★★★★★★★를 실행했을 때,mysqld -u root -p관리자로서 아무 일도 일어나지 않습니다.

나도 같은 문제를 만났다....\data의 디르에 있는 C:\mysql\ 방금 했습니다.mysqld --initializec:\mysql\bin\ 및 했습니다.c:\mysql\data나중에 사용할 수 있습니다.mysqld.exe --console명령어를 사용하여 서버 부팅을 테스트합니다.

Windows instra를 사용했기 때문에 MySQL 5.7을 Windows 서비스로 실행할 수 있도록 모든 것이 설정되어 있습니다.이것은 대부분의 경우에 매우 좋은 옵션입니다.

를 실행하는 mysqld.exe에서

  1. Win + R
  2. 실행합니다.services.msc
  3. [ ] 를 합니다.MySQL57
  4. 서비스를 시작합니다.

제 경우 데이터 디렉토리를 다른 위치에 설치했습니다.따라서 데이터 디렉토리는 기본 위치에 있지 않습니다.제가 래서 the를 때, therefore therefore the the the를 했을 때, 。mysqld명령 프롬프트에서 명령어를 사용하여 데이터 디렉토리를 수동으로 지정해야 했습니다.

mysqld --datadir=D:/MySQLData/Data

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

첫 번째 실행

mysqld -u root --initialize-insecure 

비밀번호가 없는 사용자로 root를 사용하여 데이터 폴더를 만듭니다.그럼 달려라

mysqld.exe -u root --console

신규 인스톨에 대해서 실행한 작업(Windows 10):

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

  2. MySQL Server X로 변경합니다.Y" 디렉토리(풀 패스는 C:\Program Files\My)SQL\MySQL Server 5.7인치)

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

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

  5. 명령을 실행합니다.mysqld --initialize

  6. 일단 완료되면 서비스를 시작했는데 잘 나왔어요.

  1. 디렉터가 존재하는지 확인합니다.
  2. 존재하는 경우 mysql에 대한 액세스 권한(읽기/쓰기)이 있는지 확인합니다.MySQL을 시스템 프로세스로 실행하는 것이 좋습니다만, 필수는 아닙니다.

그래도 작동하지 않으면 C:\WebSererer\MySQL\data 또는 C:/WebServer/MySQL/data 표기를 사용해 보십시오.

mysql 8.0.13 zip 패키지를 초기화 중입니다.

  1. 데이터 폴더가 비어 있는지 확인합니다.

  2. mysql bin path run 아래에서

    mysqld.exe --initialize-insecure

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

    [mysqld]

    default_authentication_plugin=mysql_native_password

동일한 오류가 발생했을 때 "C:"에 MySQL Configuration 파일이 있습니다.\Program Files\MySQL\MySQL Server X.Y\"가 my-default.ini로 변경되었습니다.

나는 그것을 해결했다

  1. "C:"에서 my.ini를 복사합니다.\ProgramData\MySQL\MySQL Server X.Y\my.ini"
  2. "C:"에 붙여넣습니다.\Program Files\MySQL\MySQL Server X.Y\my.ini"
  3. services.msc에서 MySQL Server를 재시작합니다.

.ini 파일에는 다음과 같은 부분이 있습니다.

# On Windows you should keep this file in the installation directory 
# of your server (e.g. C:\Program Files\MySQL\MySQL Server X.Y). To
# make sure the server reads the config file use the startup option 
# "--defaults-file". 

이 문제가 발생하여 MySQL 서비스도 찾을 수 없는 경우 시작 메뉴에서 "MySQL Installer"를 실행(또는 다운로드)한 다음 MySQL Server에서 "Reconfigure"를 선택합니다.루트 유저 패스워드를 설정하는 순서에 따라서, 서비스가 자동적으로 작성되어 기동합니다(기동시에 자동 기동하도록 설정됩니다).

my.ini과 set " " " " 를 설정합니다.--defaults-file="location"

mysql --defaults-file="C:\MYSQL\my.ini" -u root -p

이 솔루션은 cmd Screen용입니다.

"{path-to-data}\data" 디렉토리의 모든 파일을 제거하고 다음을 실행합니다.

mysqld --initialize-insecure --basedir={path-to-mysql}\mysql --datadir={path-to-mysql}\data --console

Windows instra를 사용하여 Windows의 서비스로 MySQL Server를 설치한 경우 PowerShell을 사용하여 MySQL Server를 시작할 수 있으며 명령줄을 벗어나지 않는 편리함을 경험할 수 있습니다.

PowerShell을 열고 다음 명령을 실행합니다.

Get-Service *sql*

MySQL 서비스 목록이 검색되어 표시됩니다.원하는 것을 선택하고 다음 명령을 실행하여 service-name을 실제 서비스 이름으로 바꿉니다.

Start-Service -Name service-name

명령어를 할 수 . 명령어를 실행하여 서비스가 실행 중인지 확인할 수 있습니다.Get-Service *sql*서비스 상태를 다시 확인합니다.

mariofertc가 이 문제를 완전히 해결했습니다. 그의 단계는 다음과 같습니다.

  1. mysql의 데이터 디렉토리가 비어 있는지 확인합니다(단, 삭제하기 전에 레코드를 위해 오류 파일을 저장하십시오).

  2. mysql bin path run: mysqld.exe --initialize-insecure

  3. my.ini(mysqld)에 다음과 같이 추가합니다.[ mysqld ] default _ authentication _ password = mysqld _ password

그런 다음 작업 관리자를 통해 서비스를 확인하여 MySql이 실행 중인지 확인합니다(실행 중이 아닌 경우 MySql을 마우스 오른쪽 버튼으로 클릭하고 시작합니다).

또한 mysql bin에 mysql Configuration파일이 없고 Windows 검색에서 찾을 수 없는 경우 C:\Program Data\Mysql\Heesu가 언급했듯이 템플릿과 같은 my.ini 이외의 다른 이름일 수 있습니다: Cannot find my 7ini.명령어 mysql --version을 사용하여 mysql을 만듭니다.

이 솔루션에서는 Windows mysql instra를 사용합니다.

여기에 기재되어 있는 다른 방법이나 관련 투고에도 대응하고 있습니다만, 문제가 해결되지 않고, 서비스는 기동하지 않습니다만, 아래의 mysql 인스톨러에 의한 어프로치로 기동했습니다.

인스톨러를 아직 가지고 있거나 적어도 버전을 기억하고 있는 경우는, 다음의 순서에 따릅니다.

  1. Windows mysql instra를 시작합니다.저는 mysql-installer-community-8.0.20.0이었습니다.
  2. 그런 다음 SQL Server를 제거/제거하고 모든 구성을 삭제합니다.
  3. "C:"에서 SQL Server 폴더를 수동으로 삭제합니다.\Program Files\MySQL\MySQL Server 8.0.
  4. mysql 설치 관리자를 다시 시작하고 SQL Server를 다시 설치하십시오.

MySqL Server가 시작되었는지 창 서비스를 통해 확인할 수 있습니다.

도움이 됐으면 좋겠는데

서버에 필요한 폴더가 없는지 확인합니다.이 경우 이전에 사용하던 빈 폴더 클리너 유틸리티에 의해 삭제된 것은 programData의 UPLOADS 폴더입니다.

어떻게 알았을까요?

mysqld의 defaults-file param으로 서버 구성 파일 my.ini(여기서는 programData에 있습니다)를 실행합니다(오류 로그온을 화면에 표시하기 위해 --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console'

오류:

mysqld: 'C:'의 dir를 읽을 수 없습니다.\ProgramData\MySQL\MySQL Server 8.0\Uploads\' (OS 오류 2 - 해당 파일 또는 디렉토리가 없습니다)

솔루션:

Uploads 폴더를 수동으로 작성하자 서버가 정상적으로 시작되었습니다.

그게 네 문제인지는 모르겠지만 한번 해봐...

'ProgramData\My' 아래에 작성된my.ini 버전SQL\MySQL Server [version]"를 읽지 않았습니다."Program Files\My"로 옮겨야 했습니다.SQL\MySQL Server [version].

RTS.

내 경우 MySQL5.6으로 Win10 Pro에서 워크브렌치 설치 도구로 설치합니다. 두 가지 구성 파일을 수정해야 합니다. datadir= 행만 편집하십시오.E:\MySQL

  1. services.msc를 사용하여 MySQL56 서비스 중지
  2. C:\ProgramData\My에서 my.ini를 편집합니다.SQL\MySQL Server 5.6
  3. C:\Program Files\My에서 my-default.ini를 편집합니다.SQL\MySQL Server 5.6
  4. 복사 C:\ProgramData\MySQL\MySQL Server 5.6**부터E:\MySQL로
  5. services.msc를 사용하여 MySQL56 서비스 시작

test: 데이터베이스 'testdb'를 만듭니다.E:\MySQL에 testdb 폴더가 있으면 성공입니다.

언급URL : https://stackoverflow.com/questions/33752407/mysqld-cant-change-dir-to-data-server-doesnt-start

반응형