为了账号安全,请及时绑定邮箱和手机立即绑定

美元登录密码打破 AWS 上的 mysqldump

美元登录密码打破 AWS 上的 mysqldump

PHP
慕哥9229398 2021-06-11 10:06:31
我正在 Elastic Beanstalk 上托管 Laravel 应用程序。我有一个运行的工匠命令mysqldump:$command = 'mysqldump -h%s -u%s -p%s %s > ' . storage_path($filename);$c = sprintf(            $command,            config('database.connections.host'),            config('database.connections.username'),            config('database.connections.password'),            $destinationDatabase        );$this->process = new Process($c);当密码(我存储在环境变量中)中没有美元符号时,这会起作用。但是当密码中确实有美元符号时,它会被切断,然后命令失败。例如,如果密码是“test$me”,我会收到这个错误:命令“mysqldump -hhostname.eu-central-1.rds.amazonaws.com -urandomname -ptest db_name > db.sql”失败即不是插入“test$me”作为密码,而是插入“test”。我尝试在环境变量中的密码周围添加单引号,同样的事情发生了:命令“mysqldump -hhostname.eu-central-1.rds.amazonaws.com -urandomname -p'test' db_name > db.sql”失败
查看完整描述

2 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

我遵循了这个答案,$在我的 Elastic Beanstalk 环境变量中添加了三个反斜杠前缀:

test\\\$me


查看完整回答
反对 回复 2021-06-19
  • 2 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信