mysql - Rails 没有从环境变量中读取 mysql 密码
问题描述
当我运行时,我收到了这个错误消息cap production deploy
Mysql2::Error::ConnectionError: Access denied for user 'deploy'@'localhost' (using password: NO)
config/database.yml
default: &default
adapter: mysql2
encoding: utf8mb4
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
socket: /var/run/mysqld/mysqld.sock
production:
<<: *default
database: avocado
username: deploy
host: localhost
password: <%= ENV['AVOCADO_DATABASE_PASSWORD'] %>
这是我的用户和数据库
mysql> SELECT User,Host FROM mysql.user;
+------------------+-----------+
| User | Host |
+------------------+-----------+
| deploy | % |
| deploy | localhost |
+------------------+-----------+
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| avocado |
+--------------------+
AVOCADO_DATABASE_PASSWORD
在服务器端设置并且不是空字符串。如何修复此错误?
解决方案
推荐阅读
- html - 为什么只出现第一个 DIV,如果订单可用,如何显示其他 DIV?
- javascript - Promise.allSettled 在 Angular 9 和 typescript 3.8.3
- php - 如何从选定的图标下拉列表中获取价值?
- c++ - 复制 C 风格的数组和结构
- flutter - 我怎样才能让一切都让设备音频播放器颤抖
- inno-setup - Inno Setup:具有不同选项的不同串行键?
- azure - Azure Powershell 函数应用程序与 Blob 交互
- firebase - 在 fireabase 云函数中使用 FieldValue
- amazon-web-services - 如何从云手表获取数据 csv 或原始数字
- unit-testing - NgXs selectSnapshot 在单元测试中不起作用