programing

Mysql2:: 오류:소켓 '/tmp/mysql'을(를) 통해 로컬 MySQL 서버에 연결할 수 없습니다.양말'

newsource 2023. 11. 1. 22:23

Mysql2:: 오류:소켓 '/tmp/mysql'을(를) 통해 로컬 MySQL 서버에 연결할 수 없습니다.양말'

달릴때rake db:migrate, 다음 오류가 발생합니다.

Mysql2::Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

여기에 대한 다른 사람들의 질문을 살펴보았는데, 그들의 솔루션 중 어떤 것도 도움이 되지 않았습니다. 예를 들어:

솔루션 원

mysql.server start

반환:

Starting MySQL

. 오류!PID 파일(/usr/local/var/mysql/something.pid)을 업데이트하지 않고 서버를 종료했습니다.

솔루션 투

mysqladmin variables | grep socket

반환:

error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'

Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

추가 참고 사항:홈브루를 사용하여 mysql을 재설치하려고 했는데 성공했습니다. 그런데도 여전히 같은 오류가 발생합니다.

Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

제가 해결했습니다.

먼저 로 이동합니다.database.yml

바꾸다host: localhost로.host: 127.0.0.1

그거에요!

편집: 일시적으로 작동하지만 오늘 컴퓨터를 다시 시작하자 동일한 오류가 표시되기 시작했습니다.수정 사항은 웹사이트에서 mysql을 설치하는 것이었습니다. 그러면 제 애플리케이션이 다시 mysql에 성공적으로 연결될 수 있습니다.

env: rails5 mysql5.7.32

보충제로 저도 그 문제를 접하게 되었습니다.'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)', 그러나 오류의 원인은 소켓 파일 때문에 발생하였습니다.

database.yml

default: &default
  socket: /tmp/mysql.sock

로그인 mysqlmysql -uroot -p그리고나서show variables like 'socket';

+---------------+-----------------------------+
| Variable_name | Value                       |
+---------------+-----------------------------+
| socket        | /var/run/mysqld/mysqld.sock |
+---------------+-----------------------------+

그래서 database.yml을 바꿉니다.

default: &default
  socket: /var/run/mysqld/mysqld.sock # The line can also be deleted

우분투 서버(루비 3.1.2 및 레일 7.0.3 사용)에서도 동일한 오류가 발생하여 줄을 제거하는 것만으로 수정했습니다.

socket: /tmp/mysql.sock

부터config/database.yml, 기본값에 따라 연결을 설정할 수 있도록 허용했을 것입니다.

또 다른 답은 terminal(zsh)을 입력합니다.

ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents

그리고 나서.

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

괜찮을 겁니다

언급URL : https://stackoverflow.com/questions/41200297/mysql2error-cant-connect-to-local-mysql-server-through-socket-tmp-mysql-so