> 데이터 베이스 > MySQL 튜토리얼 > MacOS10.10php不能连接mysql问题解决_MySQL

MacOS10.10php不能连接mysql问题解决_MySQL

WBOY
풀어 주다: 2016-06-01 13:00:57
원래의
850명이 탐색했습니다.

php连接数据库都没问题,升级到10.10这后, 突然连接不上了. 这个问题放了很久, 今天突然搜索到一篇文章.

用链接的方式解决了. 原文如下:

So you installed Ubuntu, got all excited about developing your Rails application on it, and then…

No such file or directory - /tmp/mysql.sock)
로그인 후 복사

No matter what you do, database connection doesn’t work. You reinstall Rails (of course you installed it via “sudo apt-get rails”, right??), reinstall MySql, recreate the database schema, change root’s password, install Kubuntu instead of Ubuntu… But it doesn’t work.

The reason for this error is quite simple, really: somewhere along Ruby’s Mysql driver, mysql socket is expected to exist at /tmp/mysql.sock. But that’s not where it is in Ubuntu. If you take some time searching, you’ll notice that the .sock file is actually on /var/run/mysqld - and it’s called mysqld.sock instead.

In fact, if you Google it, there is a closed bug entry on Rails’ tracking system regarding that problem, and the suggested solution there is to change your database.yml to add a link to the correct socket. Something like:

production:
  adapter: mysql
  socket: /var/run/mysqld/mysqld.sock
로그인 후 복사

Which is obviously not a good idea, since you’ll end up creating new projects, moving to a different OS or whatever - and everything will break again.

So I tried a small patchwork to fool mysql’s driver, and then it works nicely:

sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
로그인 후 복사

That way you will actually HAVE a /tmp/mysql.sock file, as expected by mysql driver, and everything will connect just fine. Just like it’s meant to be. Amen!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿