mariaDB Error :
"로컬 컴퓨터의 mariaDB을(를) 시작하지 못했습니다." 오류 해결방법
처음에 MariaDB의 에러는 Kafka와 연동하려고 하는데 꺼져있어서 서비스 실행을 하려고 하는 것부터 시작됐습니다...
[오류가 발생하고 오류를 해결하는 일련의 과정입니다.]
[ 참고 ]
PC 환경 : 윈도우10
1. mariaDB가 꺼져 있음.
[Error]
Can't connet to MySQL server on '127.0.0.1' (10061)
이 에러는 그냥 mariaDB가 꺼져있는 에러
2. mariaDB를 켜기 위해 cmd 에서 바로 net start mariadb 명령어를 실행하였다.
하지만 오류가 생겼다.
3. 그래서 서비스 창을 열어서 mariaDB 서비스 시작 버튼을 눌렀는데 다시 오류가 발생했다.
[오류 내용]
로컬 컴퓨터의 mariaDB을(를) 시작하지 못했습니다.
제세한 정보는 시스템 이벤트 로그를 참조하십시오.
Microsoft 서비스가 아닌 경우, 서비스 공급업체에 문의할 때 1 서비스 특정 오류를 참조하십시오.
mariaDB는 MS사 서비스가 아니어서 mariaDB가 설치된 폴더의 로그 파일을 확인해 보았는데 에러 로그에 남아 있는 게 특별히 없었다...
4. 인터넷에 검색을 해보니 권한 문제일 수도 있다고 해서, cmd를 관리자 권한으로 실행한 후에 net start mariaDB 명령어 실행
그래도 오류 발생
도움말 확인할 수 있어서 해당 오류를 cmd창에 검색해본다.
5. NET HELPMSG 3547 명령어 결과로 서비스 관련 오류라는 것 확인 가능
서비스 특유의 오류라는데 다시 인터넷에 검색해본다.
검색 결과, 3547 오류는 서비스 실행 경로가 잘못 지정되어 있을 때 발생하는 오류라고 한다.
다시 서비스 창을 실행해서 확인해 본다.
6. 서비스에서 mariaDB의 실행 경로 확인하기
경로를 확인해 보았는데...
특별히 잘못된 게 없는 것 같아서 해당 경로를 전부 복사해서 cmd창에 붙여넣기를 해보았다.
그랬더니 위와 같이 서비스가 실행이 되다가
중간에 CHARACTER SET 관련된 에러가 발생했다.
[Error]
COLLATION 'utf8mb4_general_ci' is not valid for CHARACTER SET 'utf8mb3'
저번에 한글 인코딩 때문에 설정 변경 값이다!! (my.ini파일에서)
근본 원인을 찾은 거 같다!!!
7. 해당 값이 있는 my.ini 파일을 연다.
(mariaDB가 설치되어 있는 data폴더의 설정 파일인 my.ini 파일이다.)
...
[mysqld]
collation-server=utf8mb4_general_ci
character-set-server=utf8
...
눈에 띄는 설정 값이 위의 mysqld 값이다.
collation-server는 utf8mb4_general_ci 라고하고 해 놓고
character-set-server는 utf8이라고만 설정해서 그런 거 같다.
character-set-server=utf8mb4로 바꾼다.
8. my.ini 파일 수정된 결과
...
[mysqld]
collation-server=utf8mb4_general_ci
character-set-server=utf8mb4
...
* 두 개의 값이 세트로 호환이 되는 값이어야 제대로 작동이 되는 것 같다.
9. 이제 서비스를 다시 시작해본다. cmd를 관리자 권한으로 실행한 뒤에 net start mariadb 명령어를 실행해야 한다.
mariaDB가 잘 시작되었다. 와 문제 해결!
10. 결론...
설정 값을 변경하려면 잘해야 한다.. 잘못하다가는 그냥 서비스 자체가 안될 수도 있다... 주의 또 주의하자.
참고! mariaDB 한글 설정을 위한 세팅이다.
※ mariaDB가 설치되어 있는 폴더의 data폴더의 my.ini 라는 설정 파일
[mysqld]
collation-server=utf8mb4_general_ci
character-set-server=utf8mb4