如何通过ssh将mysql数据库部署到服务器

时间:2012-07-11 17:21:20

标签: phing

我尝试使用Phing将站点部署到服务器。

应该创建数据库或进行更改的命令:

 <pdosqlexec url="mysql:host=${db.host}; dbname=${db.name}"
         userid="${db.user}"
         password="${db.pass}"
         src="${project.basedir}/deploy/mysqlbuiltscripts/create_database.sql"/>

它在本地机器上运行良好。但我也需要在服务器上进行更改。 主要问题 - 我只能通过SSH访问服务器数据库。 问题 - 如何通过SSH隧道执行此命令?

P.S。我尝试使用<ssh username="${username}" password="${password}" host="${host}" command="${myMysqlCommand}">,但它不适合我,因为它不会将更改写入Phing“changelog”表。

1 个答案:

答案 0 :(得分:0)

您使用的是dbdeployTask吗?如果要为远程服务器生成增量,那么您的文件应该存在更改日志。

如果您无权访问远程服务器,则可能需要直接在远程服务器上执行dbdeploy工作,或者通过ssh对您的请求进行隧道传输。

我的dbdeploy步骤是:

  1. 运行phing - &gt; dbdeploy任务
  2. 获取delta sql
  3. 使用mysql,在远程服务器上运行delta sql脚本
  4. 享受