여러가지 MySQL 버전 중에 무료인 MySQL Community Edition 을 설치하자.
*_Download MySQL Commynity Edition>> *_을 클릭하면 다음 페이지가 나온다.
이 중 MySQL Commynity Server를 클릭하여 자신의 OS에 맞춰 다운받아 사용하면된다.
여기서 나는 윈도우용이 아닌 Ubuntu용을 설치할 것이다.
bash를 열어서 아래 명령어를 입력하자.
sudo apt-get update
sudo apt-get install mysql-server
설치가 완료되면 root사용자의 password를 지정하자.
(-uroot : root 사용자)
mysql -uroot -p
하자마자
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
에러가 뜬다.
후.. 리눅스 너무 어렵다...
우선 재설치 후 내일 다시 ...
apt-get remove mysql-server
apt-get remove mysql-client
apt-get remove mysql-common
apt-get remove phpmyadmin
모두 삭제 후 재설치 했지만, 역시 같은 에러...
우선 문제의 원인은 '/var/run/mysqld/mysqld.sock' 여기에 접근할 수 없다는건데, 경로를 따라 들어가보니 /mysqld/ 디렉토리가 없었다.
해당 경로에 mysqld 디렉토리를 만들어주고,
sudo service mysql restart 를 해보면 이번에는 mkdir: cannot create directory ‘//.cache’: Permission denied 에러가 뜬다...
아마도 이건 WSL 문제인거 같아서 검색해서 해결했다.
편집기 실행 : sudo vim /etc/profile.d/wsl-integration.sh
if [[ "${HOME}" == "/" ]]; then
exit 0
fi
위 코드를 편집기에서 가장 위쪽에 입력후 저장하고 종료한다.
그런다음
mysql restart를 입력하면 또
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 가 뜬다.
$ sudo /etc/init.d/mysqld stop
$ sudo pkill -9 mysqld
$ sudo mkdir -p /var/run/mysqld
$ sudo chown mysql:mysql /var/run/mysqld
$ sudo /etc/init.d/mysql start
# sudo mysql -uroot -p
이 과정으로 해결했다.
2020-06-26 updated
sql server를 시작할때 반드시 sudo로 실행해야 소켓 문제가 발생하지 않는다.
sudo service mysql start
참조:
https://stackoverflow.com/questions/11990708/error-cant-connect-to-local-mysql-server-through-socket-var-run-mysqld-mysq
https://github.com/wslutilities/wslu/issues/101