手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Mysql>列表

Linux下mysql数据库的备份-putty

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

前提:具备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\n\n";

}

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


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!