首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Vagrant中运行MySQL脚本时不工作

在Vagrant中运行MySQL脚本时不工作
EN

Stack Overflow用户
提问于 2013-03-19 17:12:20
回答 1查看 585关注 0票数 3

我有一个定制的虚拟机库,它预先安装了PHP、Apache2和MySQL。所以我可以用这个盒子来启动虚拟机,它不需要从厨师食谱中安装上面的任何东西。

然而,有一个厨师烹饪书,我试图安装,但它是失败的。我正在尝试安装的Cookbook运行一个PHP脚本,该脚本连接和使用MySQL db。

它失败的原因是PHP无法连接到mysql服务器。我认为这是因为在脚本试图连接时,MySQL还没有启动(或准备就绪)。只有当我启动VM时,它才会失败。当我提供它(流浪的供给),它起作用。因此,我认为,当PHP脚本试图连接时,MySQL还没有做好准备。

错误:

mysql_connect():无法通过套接字'/var/run/mysqld/mysqld.sock‘(2)连接到本地MySQL服务器。

厨师食谱中的代码:

代码语言:javascript
复制
execute "doInstall" do
  cwd "/vagrant"
  command "php path/to/my/script.php"
end

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-19 17:27:01

也许你可以做一个

代码语言:javascript
复制
service "mysql" do
  action :start, :immediately
end

在你的菜谱开始的时候,或者简单地做一个启发。

代码语言:javascript
复制
execute "doInstall" do
  cwd "/vagrant"
  command "sleep 10; php path/to/my/script.php"
end

这在我看来有点脏,但可能很快就能解决你的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15506116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档