RubyonRails-Mysql2::用户的错误访问被拒绝';简单的cms'@';本地主机';(使用密码:是)

RubyonRails-Mysql2::用户的错误访问被拒绝';简单的cms'@';本地主机';(使用密码:是),mysql,ruby-on-rails,ruby,Mysql,Ruby On Rails,Ruby,我正在完成一个RoR教程 已经有一周了&由于以下错误,今天我无法在localhost上查看我的内容,但没有做任何更改: Mysql2::Error Access denied for user 'simple_cms'@'localhost' (using password: YES) 我确实知道这个问题以前被提到过很多次,但我仍然无法找到一个确定的解决方案 为了向您提供有关我的设置的更多信息,我的工作环境是Yosemite 10.10.4-Rails 3.2.22-5.6.22 MySQL-

我正在完成一个RoR教程 已经有一周了&由于以下错误,今天我无法在localhost上查看我的内容,但没有做任何更改:

Mysql2::Error Access denied for user 'simple_cms'@'localhost' (using password: YES)
我确实知道这个问题以前被提到过很多次,但我仍然无法找到一个确定的解决方案

为了向您提供有关我的设置的更多信息,我的工作环境是
Yosemite 10.10.4
-
Rails 3.2.22
-
5.6.22 MySQL
-
WEBrick 1.3.1

我已经设置了SQL数据库,如下所示,它位于项目配置文件夹的
database.yml
文件中

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: simple_cms_development
  pool: 5
  username: simple_cms
  password: **********
  socket: /tmp/mysql.sock


test:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: simple_cms_test
  pool: 5
  username: root
  password:
  socket: /tmp/mysql.sock

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: simple_cms_production
  pool: 5
  username: root
  password:
  socket: /tmp/mysql.sock
我还注意到,通过使用密码通过数据库上的终端进行连接

§mysql-u root-p

我再次得到错误::
错误1045(28000):拒绝用户'root'@'localhost'的访问(使用密码:YES)

我试图从菜单中手动重启MySQL服务器&我得到的都是相同的错误

有什么问题吗?它不允许我像以前那样使用设置登录

这是rails还是mysql设置的问题

虽然一切似乎都是必须的,但我是否必须更改
数据库.yml
文件中的某些内容?

错误消息

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES).

如果您输入了错误的密码,将显示。根据

重置密码我终于解决了这个问题,我使用命令
brew uninstall MySQL
通过终端卸载了当前的MySQL,然后从一开始就用
brew
重新安装了它

安装完成后,当我尝试登录MySQL时,我通过命令:
MySQL-u root-p
!此时,在密码请求中,我在配置文件中添加了以前设置过的密码:
database.yml
,并成功登录


谢谢你的帮助

你需要做三件事:

  • 检查Mysql服务器是否已打开(或已启动)
  • 更改从终端登录mysql的密码
  • 使用以下命令在项目文件夹中创建数据库:

    $rake db:create


  • 这应该可以为你做到,我也一样。

    你在哪个端口运行数据库?哦,试试
    mysql-uroot-p
    ,u和roots之间没有空格谢谢你的快速回复,我的数据库在
    3306
    port上运行&在我运行了这个命令
    mysql-uroot-p
    之后,我得到了与上面所述相同的错误消息!
    mysql-uroot-P3306-p
    怎么说?mysql需要密码吗?也许你不需要密码?试试
    mysql-uroot-P3306
    谢谢你的回复,我刚刚发现当我运行命令
    show databases时
    响应不包含数据库
    simple\u cms\u development
    。在我大约一周的时间里,这怎么可能发生?您可以轻松检查数据库是否确实存在:在文件系统中,转到您的mysql/数据文件夹。这里为每个数据库创建了一个文件夹。您是否看到名为
    simple\u cms\u development
    的文件夹?不幸的是,它没有在任何地方引用。。我现在该怎么办?我更困惑了..当您可以运行
    显示数据库
    并查看结果时,您可以连接到数据库。在运行这个comand的地方,运行一个
    create database simple\u cms\u development
    mysql>create database simple\u cms\u development;错误1044(42000):用户“@'localhost”对数据库“simple\u cms\u development”的访问被拒绝。
    这是此命令的结果,这是否意味着它确实存在?在配置和设置我的应用程序时,我也遇到了一个非常类似的问题——也称为simple\u cms:)在您使用“brew安装mysql”重新安装它之后,您是否做了其他事情,或者只是使用“mysql-u rails\u user-p simple\u cms\u development”然后在database.yml中输入与您相同的密码?因为我仍然在这里得到相同的密码错误。