2016-08-12 83 views
0

我正在尝试使用wp-deploy(它利用Capistrano)将我的Wordpress站点部署到数字海洋液滴。我想我拥有了一切正确的配置,但是当我尝试运行...sudo用户没有正确的mysql权限

bundle exec cap staging db:pull 

...我得到一个错误

SSHKit::Runner::ExecuteError: Exception while executing as [email protected]: wp exit status: 127 

(用户名和IP改变了,当然隐私)。所以我SSH到我的液滴,并尝试只使用

mysql -u sudousername -p 

连接到MySQL,并得到以下错误...

ERROR 1045 (28000): Access denied for user 'sudousername'@'localhost' (using password: YES) 

我想这是因为sudousername属于须藤组和那个组没有管理数据库的权限?

我希望能找到两种解决方案之一:

  1. 授予适当的权限sudousername所以它可以做它需要在沿第二用户名DB
  2. 通行证,并与Capistrano的通为数据库用户(当我为Wordpress设置数据库时,我使用phpmyadmin创建了一个用户)。这里的想法是,当Capistrano已经SSH进入并试图在数据库上执行功能时,它会使用这个其他用户名和密码。

我已经找了几个小时的解决方案,但我是一个服务器n00b,一直没能找到任何东西(可能不知道我在找什么)。

有人能帮忙吗?提前致谢!

+0

Mysql不会使用系统用户帐户或权限,它有自己的内置用户帐户系统[http://stackoverflow.com/问题/ 10895163/how-to-find-out-the-mysql-root-password)重置mysql root密码 –

+0

感谢您回复我@JuanTomas!感谢您指出这一点。那么你知道Capistrano还是wp-deploy?你知道我的配置中是否有可能存在的东西直接呢? – 5k313t0r

+0

我可以发布任何配置设置是必要的。 – 5k313t0r

回答

0

我已经找出问题所在。 wp-deploy使用我的sudo用户凭据来SSH并执行一些shell命令。其中一个试图使用我没有安装的WP Cli工具。一旦我安装了WP Cli工具,SSH脚本就会运行并运行wp db export,并以此作为正确的DB用户。感谢@JuanTomas帮助我缩小范围。

对于那些有相同问题的我也必须授予我的数据库用户对“LOCK TABLES”的权限。另外,如果您使用的是Wordpress 4.4+,则需要WP Cli 0.24版或最低版本,否则会出现兼容性问题。使用wp --info来检查你的版本