[Error] Ubuntu 20.04 MySQL 오류 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

데이터베이스의 정규화를 공부하면서 직접 해보면 좋을 것 같아 Ubuntu에 MySQL을 설치했다.

 

설치까지는 잘 되었으나 문제는 그다음이었는데...

 

일단 난관이 두 개가 있는데 첫 번째 난관.

mysql을 설치한 후 서비스 시작을 위해 위와 같은 명령어를 입력했다.

 

찾아보니 현재 WSL은 루트 시스템 프로세스가 systemd가 아닌 init이기 때문이라고 한다. 

즉, sudo systemctl start mysql 명령어는 systemd를 사용하는 시스템에서만 동작. 완전 안 맞는 프로세스에서 명령어를 사용하고 있었던 것이다.

systemd는 Linux 시스템에서 시스템 및 서비스 관리를 위한 init 시스템으로, systemctl 명령어를 통해 다양한 서비스 관리 작업을 수행할 수 있다.

 

systemd에 대해 더 자세하게 알고싶다면 아래의 문서를 보자.

Microsoft 공식 설명

 

Systemd를 사용하여 WSL로 Linux 서비스 관리

Systemd를 사용하여 Linux용 Windows 하위 시스템을 사용하여 Linux 서비스를 관리하는 방법을 알아봅니다.

learn.microsoft.com

 

 

 

[도움받은 블로그]

 

WSL2 에서 Systemd 사용하기

Overview WSL을 기본적으로 설치하면 sysvinit, 줄여서 init을 사용한다. 이는 오래된 시스템으로 centos 기준 6버전 이하, ubuntu 기준 12.04 이하 버전에서 사용해 왔다. 최신 리눅스 시스템은 init 대신 system

www.hakawati.co.kr

 

위 블로그를 참고해서 PowerShell 에서 wsl 을 업데이트해주었다.

업데이트하고 꼭 재부팅하기!!

와... 이 화면을 얼마나 보고 싶었는지...ㅠㅠ

 

과연 mysql 접속 명령도 잘 될지..??

 

눈물이 난다..

 

원래 두 번째 난관은 아래의 에러였다.

 

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

이..이 에러... 정규화 한번 직접 해보겠다고 했다가 정규화 공부보다 더 시간을 많이 사용한 에러...

 

구글링 해보면 mysql 서버가 실행되지 않았을 때 발생되는 에러라고 하는데, 이것저것 조치를 취해줘도 안 됐었었다.

그런데 wsl을 업데이트하니까 된다..?? 영문을 모르겠다...

해당 부분은 더 찾아봐야 할 것 같다.

 

 

참고 : https://blog.naver.com/islove8587/221970366883