Mysql rails应用程序显示webbrowser中的访问被拒绝

Mysql rails应用程序显示webbrowser中的访问被拒绝,mysql,Mysql,我设置了一个新环境,mysql没有密码,我是如何得到这个错误的。我在哪里换车 Access denied for user 'root'@'localhost' (using password: YES) my database.yml显示在下面我的数据库是示例应用程序 'root'@'localhost' (using password: YES) 您不应使用root连接到带有应用程序的数据库。创建一个名为的新用户/密码,以识别该用户/密码正用于特定的app\任务,然后使用该用户/密码而不

我设置了一个新环境,mysql没有密码,我是如何得到这个错误的。我在哪里换车

Access denied for user 'root'@'localhost' (using password: YES)
my database.yml显示在下面我的数据库是示例应用程序

'root'@'localhost' (using password: YES)

您不应使用root连接到带有应用程序的数据库。创建一个名为的新用户/密码,以识别该用户/密码正用于特定的app\任务,然后使用该用户/密码而不是root用户

为空密码添加此密码
密码:

# SQLite version 3.x
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
development:
  adapter: mysql2
  database: db/development.mysql2
  pool: 5
  timeout: 5000
  database: sample_app
  username: root
  socket: /tmp/mysql.sock

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql2
  database: db/test.mysql2
  pool: 5
  timeout: 5000
  database: sample_app
  username: root
  socket: /tmp/mysql.sock

 production:
  adapter: mysql2
  database: db/production.mysql2
  pool: 5
  timeout: 5000
  database: sample_app
  username: root
  socket: /var/run/mysqld/mysqld.sock
如果访问仍然被拒绝,则db会说用户\密码无效

production:
  adapter: mysql2
  database: db/production.mysql2
  pool: 5
  timeout: 5000
  database: sample_app
  username: root
  password:
  socket: /var/run/mysqld/mysqld.sock
带你去mysql,这样就行了

 $ mysql -u root 
$ mysql -u root -p
<<It will prompt for a password, key it in>>
如果您已为根用户设置了一些密码,请重试

production:
  adapter: mysql2
  database: db/production.mysql2
  pool: 5
  timeout: 5000
  database: sample_app
  username: root
  password:
  socket: /var/run/mysqld/mysqld.sock
$mysql-u root-p
如果这能让你访问mysql,那么这就行了

 $ mysql -u root 
$ mysql -u root -p
<<It will prompt for a password, key it in>>
生产:
适配器:mysql2
数据库:db/production.mysql2
游泳池:5
超时:5000
数据库:示例应用程序
用户名:root
密码:
套接字:/var/run/mysqld/mysqld.sock
故事的寓意:

首先,尝试从命令行使用mysql命令登录mysql,看看它是否有效。
然后,在database.yml中使用这些凭据并从rails应用程序登录到mysql。

您可能会对这个相关问题感兴趣: