无法通过Heroku Bash进入ClearDB MySQL提示符的技术求助
我来帮你搞定在Heroku Bash里调不出MySQL提示符的问题!既然你的数据库已经能正常给应用提供服务,那问题多半出在连接方式或者Heroku环境的工具支持上,试试下面这些办法:
第一步:先获取准确的ClearDB连接参数
先在本地终端或者Heroku Bash里运行这条命令,拿到完整的数据库连接信息:heroku config:get CLEARDB_DATABASE_URL
输出内容格式类似mysql://username:password@hostname/databasename?reconnect=true,把里面的username、password、hostname、databasename这几个信息记下来,后面要用到。第二步:用完整参数直接连接MySQL
Heroku的默认Bash环境里通常没有预装交互式MySQL客户端,所以别直接输入mysql命令,而是用刚才拿到的参数拼接成完整的连接命令:mysql -h [hostname] -u [username] -p[password] [databasename]
注意:-p和密码之间不要加空格,比如密码是test123,就写-ptest123。运行这条命令后,应该就能直接进入MySQL提示符了。第三步:试试ClearDB插件的快捷命令
如果你觉得手动输参数太麻烦,可以用Heroku ClearDB插件自带的快捷命令直接进入交互模式:heroku cleardb:psql
这条命令会自动读取你的ClearDB配置,帮你建立连接,省去手动输入参数的步骤。额外小技巧:在Cloud9本地终端连接
既然你用Cloud9来操作Heroku,其实可以直接在Cloud9的终端里连接数据库——Cloud9一般预装了MySQL客户端,用同样的参数运行命令就行:mysql --user=[username] --password=[password] --host=[hostname] [databasename]
这种方式比在Heroku Bash里操作可能更顺畅。
内容的提问来源于stack exchange,提问作者Furrukh Jamal

