Mysql2 ::错误(访问拒绝用户'root'@'localhost'(使用密码:否)):

问题描述:

只需在CentOS 5服务器上使用mysql(mysql2 gem)设置一个新的rails 3.1.3应用程序/ apache/passenger ...我已经正确设置了该数据库的数据库和用户,并且已将登录和信息添加到我的database.yml文件中...我可以生成东西,并且可以使用rake db:迁移好,但是“很抱歉,但出了问题。“消息正在浏览器中呈现,并且此消息显示在我的production.log文件中!Mysql2 ::错误(访问拒绝用户'root'@'localhost'(使用密码:否)):

入门使用 “/” 为xx.xxx.xx.xxx在2011-12-29十九时52分35秒-0600

Mysql2 ::错误(拒绝访问用户 '根' @ 'localhost' 的(使用密码:否)):

奇怪的是,我没有使用“root”作为database.yml中的登录信息...任何建议?问题/建议

development: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: the_db_I_made 
    pool: 5 
    username: the_user_I_made 
    password: the_password 
    socket: /var/lib/mysql/mysql.sock 

production: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: the_db_I_made 
    pool: 5 
    username: the_user_I_made 
    password: the_password 
    socket: /var/lib/mysql/mysql.sock 
+1

请加database.yml中的内容(过滤你的信息) – andrewpthorp 2011-12-30 02:25:34

好吧,我想这是我的学习曲线:)的一部分

它结束了什么是被这样的:我安装的原来是版本的宝石乘客3.0.9,我做了一个宝石更新 - 系统和安装版本3.0.11。所以服务器认为它使用的是3.0.11版本,我仍然在我的rails_server.conf文件中指向3.0.9的库。我发现如何在http://blog.phusion.nl/

+1

不是只指向Phusion的博客,而是指出一篇特定的文章或包含相关命令来升级Passenger以实际答案。 – 2017-02-17 16:29:41

束:

  1. 您可以连接到使用终端的数据库?

    mysql -u root -p 
    
  2. 另外,你有没有尝试过这种开发模式?如果是这样,请分享结果。

  3. 尝试删除

    socket: /var/lib/mysql/mysql.sock 
    
  4. 是创业板的安装是否正确?

    gem check mysql2 
    

编辑:

有一个在开发和生产方式(包括但不限于,环境变量,例如数据库连接字符串,资源预编译,不同相差很多日志记录级别:错误页面定制调试信息)

**尴尬!**

你有不包括你的配置中的“主机”属性!

试试这个:

production: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    host: your_host #<----- normally localhost 
    database: the_db_I_made 
    pool: 5 
    username: the_user_I_made 
    password: the_password 
    socket: /var/lib/mysql/mysql.sock 
+0

喜@ Varun的-沃赫拉! 1.我可以通过终端使用'mysql -u the_user -p the_db'连接并运行诸如“show tables”之类的命令。 2.我是新人,并没有真正把我的脑袋缠住开发和生产模式之间的区别除了开发模式可能有更多的错误输出或信息?似乎是迁移写入development.log文件和http请求写入production.log虽然.. 3.只是试图消除插座:/var/lib/mysql/mysql.sock - 同样的问题仍然.. 4.冉宝石检查mysql2 - 没有输出刚回到新行..所以我想这是好的.. – 2011-12-30 08:18:08

+0

我已经添加主机属性的database.yml - 还是一样的错误。基本上,由于某些原因,mysql2宝石以为我在试图连接到这样的“ü根 - P”数据库......即使这不是我在database.yml文件.. – 2011-12-30 15:14:32

+0

我先删除然后添加了套接字线,它的工作! – Eenvincible 2016-09-09 17:20:45

  1. 升级在Ubuntu中,1)在/ usr/bin中/在 终端mysql_secure_installation 2)运行按照步骤仔细更改MySQL密码 here.Everything做。然后去改变的database.yml密码 以前你创建的。运行rails服务器并检查 应用程序。它会起作用

您是否创建了数据库“the_db_I_made”

首先创建它,然后才运行它,否则它会持续显示此错误。

现在尝试调整它。

对于我这是因为没有数据库给错误。所以我创建一个使用:

$耙分贝:创建

,问题就解决了:d