Linux下mysql数据库的备份-putty

ZDNet软件频道 时间:2009-11-11 作者:cnibs | cnibs  我要评论()
本文关键词:Linux Mysql 备份 putty
本文介绍Linux下mysql数据库的备份-putty

前提:具有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 ( "<H3>无法访问数据库</H3>");

Mysql_SELECT_DB($dbname) or die ( "<H3>数据库尚未建立</H3>");

$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";

Attachment

查看本文来源


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134