前提:具有ssh登陸權(quán)限
工作步驟:
- 下載軟件putty,設(shè)置ssh 登陸選項(xiàng)
- 登陸后,進(jìn)入自己的主頁(yè)目錄*(通過(guò)ftp可以訪問(wèn)到)
- 執(zhí)行mysqldump命令可執(zhí)行數(shù)據(jù)庫(kù)備份,而mysqlrestore命令則恢復(fù)數(shù)據(jù)庫(kù)。
格式:
pXXXXXXX@kundenserver:~ > mysqldump -hdbXX.puretec.de -upXXXXXXX -p******** dbXXXXXXX > dbXXXXXXXX.sql
pXXXXXXX@kundenserver:~ > mysql -hdbXX.puretec.de -upXXXXXXX -p******** dbXXXXXXX < dbXXXXXXXX.sql
- 執(zhí)行mysqldump后,會(huì)在當(dāng)前所在目錄生成一個(gè)備份文件(大小和數(shù)據(jù)庫(kù)大小相當(dāng))
- 通過(guò)ftp即可下載備份的數(shù)據(jù)庫(kù)文件包
- 恢復(fù)數(shù)據(jù)庫(kù)工作與以上兩部相反
你也可以寫(xiě)一個(gè)php腳本,來(lái)完成以上操作:
備份文件
include "../config.php";
MYSQL_CONNECT($dbhost, $dbuser, $dbpw) or die ( "<H3>無(wú)法訪問(wèn)數(shù)據(jù)庫(kù)</H3>");
MYSQL_SELECT_DB($dbname) or die ( "<H3>數(shù)據(jù)庫(kù)尚未建立</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();
恢復(fù)文件
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';
498)this.style.width=498;" border=0>