mysql에서 2022 에러는 컴파일시 소켓이 지정되지 않아서 mysql 명령이 연결될 때 여전히 기본값이 사용되는 것을 의미하는데, 소켓 위치가 변경되어 mysql 명령이 이를 알 수 없기 때문이다. 오류가 발생하면 "/etc/my.cnf" 파일을 수정하여 이 오류를 해결할 수 있습니다.
이 튜토리얼의 운영 환경: windows10 시스템, mysql8.0.22 버전, Dell G3 컴퓨터.
먼저 문제 현상을 재현해 보면 오류 메시지는 다음과 같습니다.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
오류 분석에 따르면 공식 홈페이지에서는 대략적으로 컴파일 시 소켓이 지정되지 않은 것으로 나와 있으므로 mysql은 소켓 위치가 변경되어 mysql 명령을 알 수 없기 때문에 기본값(/tmp/mysql.sock)을 연결할 때 명령이 계속 사용되므로 이 오류가 발생합니다.
해결책은 mysql 명령에 어디에 있는지 알려주는 것입니다. 우리 소켓 파일은 다음과 같습니다. /etc/my.cnf 파일을 수정하고 다음 내용을 추가합니다.
[mysqld] socket=/data/mysql5.7.24/db_test/mysql.sock [client] socket=/data/mysql5.7.24/db_test/mysql.sock
저장 후 정상적으로 로그인이 가능한지 테스트해 보세요
mysql -uroot -p
또 다른 해결 방법은 로그인 시 소켓을 지정하는 것입니다.
첫 번째 글쓰기 방법
mysql -uroot -p --socket=/data/mysql5.7.24/db_test/mysql.sock
두 번째 글쓰기 방법
mysql -uroot -p -S /data/mysql5.7.24/db_test/mysql.sock
추천 학습: mysql 비디오 튜토리얼
위 내용은 mysql의 2002 오류는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!