在虚拟机CentOS 5装了个dotProject后,又装了个redmine2.2.0,启动时发现前几天正常运行的Redmine启动不了了,控制台输出错误信息以下:php
=> Booting WEBrick
=> Rails 3.2.9 application starting in production on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/usr/local/lib/ruby/gems/1.8/gems/activerecord-3.2.9/lib/active_record/connection_adapters/mysql_adapter.rb:411:in `real_connect': Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (Mysql::Error)
from /usr/local/lib/ruby/gems/1.8/gems/activerecord-3.2.9/lib/active_record/connection_adapters/mysql_adapter.rb:411:in `connect'
看错误信息是没法经过/tmp/mysql.sock链接mysql数据库,记得安dotProject时要安装php5,好像php5也是经过/tmp/mysql.sock链接的数据库,可是dotProject运行正常,经过查phpinfo()函数显示,MYSQL_SOCKET 指向的路径是/tmp/mysql.sock,用命令查看ls -l /tmp 没有发现mysql.sock文件,奇怪呀,没了mysql.sock文件php还能照样跑,ruby就不行了,报错:不能链接mysql。至于缘由还要慢慢查找。mysql
通过验证,解决redmine的这个错误,有两种方法能够采用 sql
# MySQL (default setup). production: adapter: mysql database: redmine host: localhost username: root password: root encoding: utf8 socket: /var/lib/mysql/mysql.sock development: adapter: mysql database: redmine_development host: localhost username: root password: root encoding: utf8 socket: /var/lib/mysql/mysql.sock
相关命令:数据库
查找指定目录下的软连接,如查找/tmp目录下的软连接ruby
find /tmp -type l -ls app
find /tmp -type l -exec ls -l '{}' \;socket
注意:l 是字母的l ,不是竖线!函数