gpt4 book ai didi

mysql - 如何验证 mysql 数据库 URI

转载 作者:行者123 更新时间:2023-11-29 01:35:08 24 4
gpt4 key购买 nike

我正在尝试将名为 blazer 的 Gem 与我的 Rails 应用程序集成,我必须在 blazer.yml 文件中指定 mysql 数据库 URL,以便它可以访问暂存和生产环境中的数据。

我相信定义 MySQL 数据库 URL 的标准格式是

mysql2://user:password@hostname:3306/database

我将我的 URL 定义为与字符串相同的格式,当我验证 URI 时出现以下错误

URI::InvalidURIError: bad URI(is not URI?): mysql2://f77_oe_85_staging:LcCh%264855c6M;kG9yGhjghjZC?JquGVK@factory97-aurora-staging-cluster.cluster-cmj77682fpy4kjl.us-east-1.rds.amazonaws.com/factory97_oe85_staging

定义的Mysql数据库网址:

'mysql2://f77_oe_85_staging:LcCh%264855c6M;kG9yGhjghjZC?JquGVK@factory97-aurora-staging-cluster.cluster-cmj77682fpy4kjl.us-east-1.rds.amazonaws.com/factory97_oe85_staging'

请多多指教

最佳答案

URI 无效。

问题是密码包含在 URI 中无效的字符。 username:password 是 URI 的 userinfo 部分。来自 RFC 3986 ...

  foo://example.com:8042/over/there?name=ferret#nose
\_/ \______________/\_________/ \_________/ \__/
| | | | |
scheme authority path query fragment

authority = [ userinfo "@" ] host [ ":" port ]
userinfo = *( unreserved / pct-encoded / sub-delims / ":" )

pct-encoded = "%" HEXDIG HEXDIG
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
/ "*" / "+" / "," / ";" / "="

具体就是密码LcCh%264855c6M;kG9yGhjghjZC?JquGVK中的?。看起来密码只是部分转义。

关于mysql - 如何验证 mysql 数据库 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52844505/

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