【问题标题】:mysqldump not saving output file in different directorymysqldump没有将输出文件保存在不同的目录中
【发布时间】:2013-03-10 20:58:35
【问题描述】:

mysqldump 在我们的服务器上运行良好;我们正在通过系统命令执行它。 例如 -

exec('mysqldump -h 主机名 -u 用户名 -ppassword 数据库名 > 转储.sql');

但是当我想让转储文件保存在不同的目录中时,比如 -

exec('mysqldump -h 主机名 -u 用户名 -ppassword 数据库名 > /backup/dump.sql');

我也尝试过使用完整路径,但命令无法执行。 我该如何解决这个问题?

已编辑:这是一个权限问题,我通过将权限更改为 700 解决了它。感谢@DBK。

【问题讨论】:

  • 文件夹权限呢?
  • 您有任何错误信息吗?
  • DBK,它的644,我没有任何错误信息,请告诉我sectus如何查看错误日志。
  • 你确定你有 /backup 文件夹吗?我猜您知道当您使用 /backup 时,它会在根目录中查找该文件夹,而不是在当前目录中。
  • 嘿 DBK,我尝试在您的线路中将权限更改为 777 并且它可以工作,但根据安全风险,这是不合适的。我应该给予什么许可?

标签: php mysqldump


【解决方案1】:

尝试创建转储的手动路径- 使用以下命令 去cd/var/lib/mysql

搜索您想要转储的数据库。

ls -l | grep database_name

mysqldump database_name > database.sql

//如果要恢复备份

cd /var/lib/mysql

检查你想恢复mysqldump的数据库名称 ls -l | grep database_name

mysql database_name < database.sql

【讨论】:

  • 谢谢@sudeep 93,但这只是权限问题,只是将文件夹权限更改为700(安全起见),它可以工作
  • sudeep,总是尝试使用反引号或缩进突出显示任何命令或示例代码。查看Markdown
猜你喜欢
  • 2019-09-20
  • 2018-02-02
  • 1970-01-01
  • 1970-01-01
  • 2011-10-17
  • 1970-01-01
  • 2021-01-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多