It's okay to connect to the database using php. after upgrading to 1010, I suddenly couldn't connect to the database for a long time. today I suddenly found an article to solve the problem by link: SoyouinstalledUbuntu, gotallexcitedaboutdevelop php has no problem connecting to the database. after upgrading to 10.10, the connection will suddenly fail. after a long time, I suddenly found an article today.
Solved by link. The original article is as follows:
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. 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 obviusly 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!