首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在我使用rake db:create之后出现MySql错误1045

在我使用rake db:create之后出现MySql错误1045
EN

Stack Overflow用户
提问于 2012-02-16 00:57:21
回答 2查看 14.1K关注 0票数 15

我创建了一个新的Rails项目,我使用了scaffold,然后尝试:

代码语言:javascript
复制
rake db:create 

我没有更改config/database.yml,因此密码为空(我总是输入用于登录到localhost/phpmyadmin的密码,但这次我忘记了)。

代码语言:javascript
复制
development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: test_associations_development
  pool: 5
  username: root
  password: 
  socket: /tmp/mysql.sock

所以,回到终端,我收到了以下消息:

代码语言:javascript
复制
$ rake db:create
Access denied for user 'root'@'localhost' (using password: NO). 
Please provide the root password for your mysql installation

>******* (我在这里输入了密码)

代码语言:javascript
复制
$ rake db:create rake aborted!
(<unknown>): couldn't parse YAML at line 31 column 2

Tasks: TOP => db:create => db:load_config
(See full trace by running task with --trace)

在此之后,我无法登录到phpmyadmin,当我在本地运行我的应用程序时,我收到以下错误:

代码语言:javascript
复制
Mysql2::Error

Access denied for user 'root'@'localhost' (using password: YES)

我使用的是OS 10.7.2,Rails 3.2,Ruby 1.9.3。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-16 01:05:07

您可以尝试使用Terminal.app访问MySQL。在命令行中运行:

代码语言:javascript
复制
mysql -u root

如果您希望root密码为空,但却看到以下内容:

代码语言:javascript
复制
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

你知道密码已经被修改了。

听起来超级用户密码已经被更改了。如果您不知道密码是什么,请按照以下说明重置密码:Resetting MySQL password

票数 10
EN

Stack Overflow用户

发布于 2012-10-29 06:28:37

此答案与发生此行为的Ruby on Rails框架有关

  1. 使mysql具有超级用户和密码
  2. 引导新的rails项目使用mysql "rails new projectname

-d mysql“

  • do not modify config/database.yml -服务器的默认凭据是名称:根,密码为空

  • rake db:create prompt

up -要求输入根密码,然后当您提供根密码时

答案在here第68行的GRANT命令中

基本上,它使用凭据执行GRANT命令,与您当前的database.yml匹配

我已经讨论过这个话题,行为将得到改善,它被认为是一个bug。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9297677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档