仅用于上下文:
我正在使用Capistrano来部署我的WordPress网站。特别是这个:https://github.com/markjquith/WP-Stack
基本上,你可以在你的开发机器上安装它,在你的本地和远程机器上设置SSH,这样它就可以通过Capistrano访问它需要访问的任何东西,给它临时和生产站点使用的数据库凭据,你就可以开始了。
部署运行良好。同步数据库是我的问题所在。特别是当Capistrano运行以下代码时:
mysqldump -u livesiteuser --result-file=/tmp/wpstack-26754.sql -h localhost -plivesiteuserpass livesitedbname
结果是:
mysqldump: Got error: 1045: Access denied for user 'livesiteuser'@'localhost' (using password: YES) when trying to connect
但是,当我自己在远程服务器(生产所在地(上运行同样的代码时,它就可以工作了。
我真的不确定我做错了什么。我已经让livesiteuser
可以访问所有内容。哦,是的,使用mysql root
也可以做同样的事情。
解决方案:
如果您的密码是mypa$$wor&
<--包含特殊字符
您需要将其键入为mypa$$wor&
特殊字符需要用反斜杠转义,因为终端将特殊字符解释为命令的参数。
我遇到了同样的问题。使用--port=3316包含端口号解决了问题。