Linux 下 mysql 数据库的备份-putty

2005年11月26日 05:39 • 查看 3,672 次 • 打印本文

前提: 具有SSH登陆权限
工作步骤:

* 下载软件putty,设置ssh 登陆选项
* 登陆后,进入自己的主页目录*(通过ftp可以访问到)
* 执行mysqldump命令可执行数据库备份,而mysqlrestore命令则恢复数据库。

格式:

~ > mysqldump -hdbXX.puretec.de -upXXXXXXX -p******** dbXXXXXXX > dbXXXXXXXX.sql

~ > 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 ... ";

ystem(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”;

ystem(sprintf(

‘gunzip -c %s/dump.sql.gz | mysql -h %s -u %s -p%s %s’,

getenv(’DOCUMENT_ROOT’),

$dbhost,

$dbuser,

$dbpw,

$dbname

));

echo ‘+DONE’;

评论

发表评论