首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过PHP恢复特定表的mysql转储

问通过PHP恢复特定表的mysql转储
EN

Stack Overflow用户
提问于 2014-11-01 02:52:00
回答 2查看 339关注 0票数 0

我有一个mysql表转储文件(可以在这里查看: sql ),我想使用该http://pastebin.com/raw.php?i=GQkjrDNz文件的内容创建表(根据转储文件命名为php_blog_archive )。

问题是我没有访问phpmyadmin的权限,所以我只能通过php命令执行这个命令,我已经查看了几个这样的线程,到目前为止我所拥有的代码是,

代码语言:javascript
复制
<?php
// Config
$db_user = "username";
$db_pass = "password";

exec("mysql -u $db_user -p $db_pass -h localhost databasename < restoreold.sql ");

?>

但是它不起作用,它什么也不做--甚至不显示任何错误。有人能建议我该怎么做吗?

EN

回答 2

Stack Overflow用户

发布于 2014-11-01 02:56:10

首先,命令必须是:

代码语言:javascript
复制
<?php
// Config
$db_user = "username";
$db_pass = "password";

exec("mysql -u " . $db_user . " -p " . $db_pass . " -h localhost databasename < restoreold.sql "); // Added an space before -h

?>

其次,您是否拥有创建/编辑/追加文件和exec命令的权限?

票数 0
EN

Stack Overflow用户

发布于 2014-11-01 04:14:18

我想你的密码有个老问题了。

代码语言:javascript
复制
<?php
// Config
$db_user = "username";
$db_pass = "password";

exec("mysql -u " . $db_user . " -p'" . $db_pass . "' -h localhost databasename < restoreold.sql 2>&1", $output);

echo nl2br($output);

?>

这将在mysql -u username -p'password' -h localhost databasename < restoreold.sql 2>&1中结束

最后一件事是将错误消息或其他内容回显到HTML。这是通过2>&1和$output引用变量完成的,该变量将从nl (新行将以<br />结尾)转换为HTML并回显。

希望它能帮上忙,也能起作用。

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

https://stackoverflow.com/questions/26681552

复制
相关文章

相似问题

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