MySQL 데몬이 활성화 되지 않은아 생기는 문제임. Mysql 은 설치 후 , 데몬(mysqld)이 돌아가고, 그거에 mysql이라는 프로그램으로 접속하는 방식이다. 따라서, 설치 후, 데몬이 돌아가고 있어야 한다. ps -aux | grep mysqld 로 확인 가능하고, service mysqld stop service mysqld start (service mysqld restart) 으로 시작 가능하다. service mysqld start 를 하니까 되더라. 이런 어처구니 없는 경우가. 로그를 본 게 이유가 되는 건 아닌 것 같다만... 왜 갑자기 되는지는 의문이다. 여튼. 데몬이 떠 있는데도 문제가 생기는 경우의 해결책을 모아 보았다. 1. fedora 12에 mysql 설치하고 서비스띄우고 실행할라치면 [root@fedy bin]# ./mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 요런식으로 에러메시지가 뜰때가 있다... 악명높은 ... 뭐 해결하고 보니 의외로 간단한... 십라 ㅡ,.ㅡ 해결방법은 심볼릭 링크를 걸어주는것... [root@fedy bin]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock 이렇게 걸어주면 됨... 찾다보니 '/tmp/mysql.sock' 가 '/var/lib/mysql/mysql.sock' 이런식으로 나올때오 있는 모양임... 이럴때는 순서를 바꿔서 심볼릭 링크를 걸어주면 되는 모냥임... [root@fedy bin]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock 요렇게... 링크를 걸어주고 실행하믄~ [root@fedy bin]# ./mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.1.48 Source distribution Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL v2 license Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+ 3 rows in set (0.02 sec) mysql> 2. MySQL server through socket '/tmp/mysql.sock'라는 에러가 뜰경우 [root@www bin]# ./mysql ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) [root@www bin]# 위 내용은 APM설치후 mysql실행하면, 저렇게 나오는데.. --------------------------------------------------------------------------------------- mysql 서버가 실행되어 있지 않아서입니다. /tmp/mysql.sock 소켓파일은 mysql 실행하시면 생성됩니다... 우선 root 상태에서 아래 명령어를 실행하세요. [root@www bin]#./safe_mysqld --user=root & 그 다음 ps aux 로 mysql 데몬 정상적으로 실행되었는지 확인하신 다음 접속해 보세요. 참고로 설치하신 mysql버전이 mysql4.x.x 이상이라면.. [root@www bin]#./mysqld_safe --user=root & 요렇게 바뀐것 같던데요... ============================================================================ MySQL 데몬이 활성화 되지 않은듯 싶습니다. ===================================================================================== mysql.sock 은 유닉스 소켓 연결에 사용되는 화일 입니다.. netstat -ap | grep mysql 해보세요 ==================================================================================== backend
과제를 3번까지 모두 수행한 이후, 4번 수행 중 오류가 발생하였습니다. migration을 위해 Ubuntu 20.04 사용 중이며, Anaconda를 이용해 Python과 Django 등을 설치하였습니다. sudo service mysql status해보시고 결과 알려주시겠어요? 구글링해보니까 socket이 저 위치(/tmp/mysql.sock)에 있지 않아서 그런 것 같습니다. migrate할 때 socket 위치를 지정할 수 있나요? ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock 완전한 해결책이 아닌 것 같습니다... tmp라 그런지 재부팅하면 symbolic link가 사라지네요.
아직 해결하지 못했습니다. HW0을 완성하는 것이 더 급한 것 같아서 부팅시마다 symbolic link를 만드는 임시방편으로 해결했는데, HW1 수행하면서 더 알아봐야 할 것 같습니다. tictactoeid changed the title backend 4번 migrate 관련 migrate 시 "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" 오류 (임시해결) Sep 12, 2020링크 만들지 않고 mysql-server/mysqld가 제대로 설치안된거같아요 sudo apt-get --purge remove mysql-server mysql-common mysql-client. sudo apt update && sudo apt dist-upgrade && sudo apt autoremove. sudo apt-get install -y mysql-server mysql-client 로 지웠다가 설치해보시겠어요? 조금 꼬여서 안될거 같기도 하네요 시도해봤는데
여전히 그대로입니다. |