PHP世纪论坛

 找回密码
 立即注册
搜索
查看: 312|回复: 0

用Putty帮Lunix下数据库备份

[复制链接]

234

主题

240

帖子

1074

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1074
发表于 2015-12-28 23:16:48 | 显示全部楼层 |阅读模式
前提:具有ssh登陆权限
工作步骤:
  • 下载软件putty,设置ssh 登陆选项
  • 登陆后,进入自己的主页目录*(通过ftp可以访问到)
  • 执行Mysqldump命令可执行数据库备份,而Mysqlrestore命令则恢复数据库。

格式:

pXXXXXXX@kundenserver:~ > Mysqldump -hdbXX.puretec.de -upXXXXXXX -p******** dbXXXXXXX > dbXXXXXXXX.sql

pXXXXXXX@kundenserver:~ > Mysql -hdbXX.puretec.de -upXXXXXXX -p******** dbXXXXXXX < dbXXXXXXXX.sql

  • 执行Mysqldump后,会在当前所在目录生成一个备份文件(大小和数据库大小相当)
  • 通过ftp即可下载备份的数据库文件包
  • 恢复数据库工作与以上两部相反

你也可以写一个php脚本,来完成以上操作:

备份文件
include "../config.php";
Mysql_CONNECT($dbhost, $dbuser, $dbpw) or die ( "无法访问数据库");
Mysql_SELECT_DB($dbname) or die ( "数据库尚未建立");
$path = getenv("DOCUMENT_ROOT")."/DB_backup";
$result = Mysql_QUERY("SHOW TABLES");
$numrow = Mysql_NUM_ROWS($result);
for($i = 0;$i < $numrow;$i++) {
$table = Mysql_RESULT($result,$i);
echo "$table ... ";
system(sprintf("Mysqldump --opt -h $dbhost -u $dbuser -p$dbpw $dbname $table | gzip > %s/$table.sql.gz",$path));
echo "DONE ";
}
Mysql_CLOSE();
恢复文件
include "../config.php";
system(sprintf(
  "gunzip -c %s/dump.sql.gz | Mysql -h %s -u %s -p%s %s",
  getenv("DOCUMENT_ROOT"),
  $dbhost,
  $dbuser,
  $dbpw,
  $dbname
));
echo "+DONE";
1734100.jpg

回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|PHP世纪论坛 ( 豫ICP备15004666号-2

GMT+8, 2018-10-18 22:27

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表