我在Fedora 20上运行一个针对Apache& amp; mysql(Maria db) 在最近更新Fedora之后,它没有任何问题,之后passanger因此错误而失败
无法启动Web应用程序
用户'用户'@'localhost'拒绝访问数据库'TheDB' (Mysql2 ::错误)
使用WEBrick从命令行运行rails工作正常,也可以用
连接到mysqlmysql -u user -h loalhost m -p
重新安装乘客和mysql2 gem没有帮助
经过几个小时的处理后,我正在绘制一个关于还有什么可以尝试的完整空白
我欢迎任何想法
答案 0 :(得分:1)
如果您可以使用命令行中的正确用户名和密码进行连接,但您的脚本无法使用相同的凭据进行连接,请检查数据库mysql,表用户,以获取主机列中的正确值。
SELECT Host FROM mysql.user WHERE User='myusername';
来自http://dev.mysql.com/doc/refman/5.1/en/connection-access.html:
使用三个用户表范围执行身份检查 列(主机,用户和密码)。服务器接受连接 仅当某个用户表格行中的主机和用户列与之匹配时 客户主机名和用户名,客户端提供密码 在该行中指定。
检查sorting rules是否对您没有影响:
服务器使用与客户端主机名称和用户名匹配的第一行。
答案 1 :(得分:0)
我遇到了同样的问题。在设置ror应用程序时,所有rake命令都运行正常。只需输入“mysql”就可以从linux控制台轻松访问mysql,它需要mysql控制台和database.yml使用root用户和空密码。
完全相同的设置正在其他开发实例上工作,但在花了一整天后我得到了解决方案。
当我们在database.yml中使用以下配置时
*evelopment: &development
adapter: mysql2
database: development
encoding: utf8
username: root
password:
host: localhost
socket: /var/run/mysqld/mysqld.sock*
然后应用程序尝试连接到mysql为“mysql -u root -h localhost”,在我的情况下,此命令给出了以下错误。
*$mysql -u root -h 127.0.0.1
ERROR 1698 (28000): Access denied for user 'root'@'localhost'*
使用以下方式调整root用户后,问题已解决。
*sudo mysql -u root
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit;*