程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Linux下mysql數據庫的備份-putty

Linux下mysql數據庫的備份-putty

編輯:MySQL綜合教程

前提:具有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


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved