我正在尝试使用wp-deploy(使用Capistrano)将我的Wordpress网站部署到Digital Ocean Droplet。我想我已经正确配置了所有内容,但是当我尝试运行...
时bundle exec cap staging db:pull
...我收到错误
SSHKit::Runner::ExecuteError: Exception while executing as sudousername@xxx.xxx.xxx.xxx: wp exit status: 127
(用户名和IP因隐私而改变)。所以我通过SSH连接到我的Droplet并尝试使用
连接到mysqlmysql -u sudousername -p
并收到以下错误...
ERROR 1045 (28000): Access denied for user 'sudousername'@'localhost' (using password: YES)
我认为这是因为 sudousername 属于 sudo 组,并且该组没有管理数据库的权限?
我希望找到两种解决方案之一:
我已经找了几个小时的解决方案,但我是服务器n00b并且找不到任何东西(并且可能不确定我在寻找什么)。
有人能帮忙吗?提前谢谢!
答案 0 :(得分:0)
我已经弄清楚问题是什么。 wp-deploy使用我的sudo用户凭据来SSH并执行一些shell命令。其中一个尝试使用我没有安装的WP Cli工具。一旦我安装了WP Cli工具,脚本SSH就会运行wp db export
并以正确的数据库用户身份运行。感谢@JuanTomas帮助我缩小范围。
对于那些遇到相同问题的人,我还必须授予我的数据库用户对" LOCK TABLES'的权限。此外,如果您使用的是Wordpress 4.4+,则需要最低0.2 Cl的WP Cli版本,否则会出现兼容性问题。使用wp --info
查看您的版本。