개발 - WEB, WAS, DB

Mysql 윈도우에서 서버 실행 방법 및 오류 해결

개미v 2023. 1. 7. 09:03

Mysql 을 윈도우에 설치하면 기본값으로 서비스에 등록되어 부팅시 자동으로 실행 됩니다.

하지만 서비스에 등록시키지 않고 수동으로 서버 실행 시키는 방법에 대해서 설명 합니다.

 

Mysql 서버 기동 명령어

관리자권한으로 실행 해야 합니다.

명령어 주의점은 my.ini 위치를 지정해 줘야 합니다.

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini"

 

오류1

mysqld 실행시 my.ini 위치를 지정해 주지 않으면, data 경로를 못 찾기 때문에 에러가 발생합니다.

2023-01-06T23:42:36.776362Z 0 [System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.31) starting as process 676
2023-01-06T23:42:36.778663Z 0 [Warning] [MY-010091] [Server] Can't create test file C:\Program Files\MySQL\MySQL Server 8.0\data\mysqld_tmp_file_case_insensitive_test.lower-test
2023-01-06T23:42:36.778741Z 0 [Warning] [MY-010091] [Server] Can't create test file C:\Program Files\MySQL\MySQL Server 8.0\data\mysqld_tmp_file_case_insensitive_test.lower-test
2023-01-06T23:42:36.778941Z 0 [ERROR] [MY-013276] [Server] Failed to set datadir to 'C:\Program Files\MySQL\MySQL Server 8.0\data\' (OS errno: 2 - No such file or directory)
2023-01-06T23:42:36.780689Z 0 [ERROR] [MY-010119] [Server] Aborting
2023-01-06T23:42:36.780822Z 0 [System] [MY-010910] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.31)  MySQL Community Server - GPL.

 

해결방법은

① mysqld 실행시 my.ini를 정확하게 지정해 주거나 (근본적 해결)

② C:\Program Files\MySQL\MySQL Server 8.0\data 디렉토리를 생성해 주면 됩니다.

오류2

위 오류에서 data 폴더를 새로 만들어 준 경우, 초기화가 안되어 있기 때문에 발생 합니다.

2023-01-06T23:46:42.750123Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory.
2023-01-06T23:46:42.750755Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2023-01-06T23:46:42.751165Z 0 [ERROR] [MY-010119] [Server] Aborting
 

해결 방법은

① mysqld 실행시 my.ini를 정확하게 지정해 주거나 (근본적 해결)

② Mysql 서버 초기화를 명령어 실행해 주면 됩니다.

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld --initialize

그러면 아래와 같이 초기 DB data들이 생성 됩니다.

 

오류3

위 오류로 인해서 DB data를 초기화 한 경우 root 비밀번호 초기 설정이 안되어 있어서 발생 합니다.

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysql -uroot -p
Enter password: ********
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

해결 방법은

① mysqld 실행시 my.ini를 정확하게 지정해 주거나 (근본적 해결)

② Mysql 서버 root 비밀번호 초기화를 해주면 됩니다.

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld --init-file=C:\1.txt

 

1.txt 파일
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';