osamhack2022 / WEB_AI_MILIROUTINE_MILIROUTINE

밀리루틴(MILIROUTINE) - 군생활 루틴 공유 서비스 | 지키고 싶은 밀리루틴을 만들고, 함께 인증해보세요!
MIT License
5 stars 6 forks source link

Gihub Codespace DB Problem #3

Closed minchan02 closed 1 year ago

minchan02 commented 1 year ago

깃허브 코드스페이스 mysql 실행 안됨 service mysql start mysql -u root ERROR 2002 (HY000) : Can't Connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock (2)

yoopark commented 1 year ago

저도 함께 해결해보려 했으나 문제 해결이 안되네요... 운영진과 주고받은 메일을 아래 첨부합니다


안녕하십니까, 2022 OSAM 해커톤에 <밀리루틴> 팀으로 참여하고 있는 박용준이라고 합니다. Codespace를 이용할 수 있게 해주셔서 감사할 따름입니다.

다만, MySQL을 설치하고 사용하려는 중에 문제가 발생하였고, 오류를 긴 시간 동안 찾아보았으나 답이 나오지 않아 메일 보냅니다. 이 링크의 후반부에 등장하는 mysql 설치 방법 명령어를 모두 쳤는데 문제가 발생합니다.

codespace를 삭제하고 바로 생성한 직후 아래의 명령어를 쳤습니다.

sudo apt update sudo apt install mysql-server mysql-client sudo service mysql stop sudo usermod -d /var/lib/mysql mysql sudo chmod 777 /var/run/mysqld sudo service mysql start ...

다 하였으나, sudo mysql -u root 명령어를 치면 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 의 에러가 발생합니다.

검색 결과, socket의 문제이기 이전에, mysql이 시작도 하지 않는다는 사실을 발견하였습니다. sudo service mysql start sudo service mysql status 를 바로 쳐보면, * MySQL is stopped. 상태인 것을 확인할 수 있었습니다.

sudo service mysql start echo $? 2 로, 비정상 종료인 것으로 나옵니다.


sudo vi /etc/mysql/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/run/mysqld/mysqld.sock 옵션도 넣고 다시 실행해보았으나 동일한 문제가 발생하였습니다.

하지만 해당 옵션을 추가한 채 sudo를 빼고 service mysql start만 입력하면, 특이하게 df: /var/lib/mysql/.: Permission denied

하지만 df -h 결과 Filesystem Size Used Avail Use% Mounted on overlay 32G 12G 19G 39% / tmpfs 64M 0 64M 0% /dev tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup shm 64M 8.0K 64M 1% /dev/shm /dev/sda1 29G 11G 19G 36% /usr/sbin/docker-init /dev/loop0 32G 12G 19G 39% /workspaces /dev/sdb1 16G 204K 15G 1% /tmp 로, 꽉 찬 부분은 없는 것으로 확인됩니다.


sudo apt-get purge mysql-server mysql-client sudo apt-get install mysql-server mysql-client 명령어로 재설치해보았으나 문제가 해결되지 않았습니다.


chown -R mysql:mysql /var/lib/mysql 을 해보라는 답장을 받아 해보았으나, 여전히 안 되어 재답장 보낸 상태입니다.

minchan02 commented 1 year ago

저도 아래 메일을 받은 후로 답장이 없네요..... 일단 한동안은 다른 개발환경에서 해야할것 같습니다..ㅠㅠ

안녕하세요 김민찬님 클라우드메이트 성지영 매니저입니다.

자세한 설명 확인해 주셔서 감사합니다. 그렇다면 sudo service mysql restart 실행 후 정상적으로 MySQL이 시행된 것으로 보입니다. 혹시, 금년도로 새로 드린 가이드 중 하기와 같이 소켓이 생성되는 파일에 권한을 부여하는 명령어도 실행해주셨을까요? sudo service mysql stop sudo usermod -d /var/lib/mysql mysql sudo chmod 777 /var/run/mysqld

해당 커맨드도 확인 후 업데이트 부탁드립니다. 현재 에러 재현이 되지 않아서 여러 테스트 요청 드리는 것에 대한 양해 부탁드립니다.

감사합니다. 성지영 드림.

yoopark commented 1 year ago

MySQL 에 대해 추가적으로 살펴 본 바, 현재 설치 하신 MySQL 버전은 8.0 으로 설치하기에 추가적인 APT 리포지토리가 추가되어야 함이 확인되었습니다. 혹시 MySQL 삭제 후 다음 단계를 다시 진행 부탁드립니다. MySQL 삭제 시에는 기존에 설치하였던 모든 기능들 및 수정된 파일 내용 등을 모두 삭제 해주셔야 합니다.

MySQL Apt 리포지토리 추가 wget -c https://repo.mysql.com//mysql-apt-config_0.8.13-1_all.deb sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb MySQL 서버 설치 sudo apt update sudo apt-get install mysql-server mysql-client sudo service mysql status sudo service mysql start sudo mysql -u root

진행하신 후 해당 내용에 대한 업데이트 부탁드립니다.


제가 지금 밖에 있어서 실행해보진 못하는데 아마 해결 가능할 것 같습니다!!

한번 해보고 결과 말씀해주세요 ㅎㅎ

minchan02 commented 1 year ago

메일 확인한대로 진행했습니다. 하지만 여전히 아래와 같은 오류가 뜨고있습니다. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13)

service mysql start 후에 service mysql status 커맨드를 입력하면 *Mysql is stopped 라는 문구가 뜹니다.

yoopark commented 1 year ago

32 에 의해 해결되었습니다.