gpt4 book ai didi

MySQL 无法连接到使用 Rubber 部署的 EC2

转载 作者:行者123 更新时间:2023-11-29 02:03:17 25 4
gpt4 key购买 nike

我正在使用 Rubber 部署 Rails 应用程序,但无法连接到 MySQL。我是否必须在 EC2 上手动设置 MySQL,或者 Rubber 是否应该已经这样做了?虽然这不是很有帮助,但这里是运行 rake 时的日志输出:

 ** [out :: db01.memepluspl.us] rake aborted!
** [out :: db01.memepluspl.us]
** [out :: db01.memepluspl.us] Access denied for user ''@'db01.memepluspl.us' to database 'meme_plus_plus_production'
** [out :: db01.memepluspl.us]
** [out :: db01.memepluspl.us]
** [out :: db01.memepluspl.us] Tasks: TOP => db:migrate => environment

最佳答案

如果其他人遇到这个问题,那是因为 mysql 现在添加了默认的匿名用户,并且访问权限有限。

问题讨论here .

第一个解决方案不够全面,您需要最后一个删除所有匿名用户(不仅仅是本地主机)的解决方案。这是因为 MYSQL 将在 USER 之前在 HOST 上进行身份验证,因此匿名用户 ''@'your.host.com' 将优先于 'dbuser'@'your.host.com'(记录在 mysql documentation 中)和 rubber将尝试连接完整的主机名。

编辑你的./config/rubber/deploy-mysql.yml:

rubber.sudo_script "create_master_db", <<-ENDSCRIPT
mysql -u root -e "create database #{env.db_name};"
mysql -u root -e "delete from mysql.user where user='';" <<-- ADD THIS LINE
...
ENDSCRIPT

关于MySQL 无法连接到使用 Rubber 部署的 EC2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11144502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com