Home  >  Article  >  Database  >  Linux下mysql数据库的备份-putty

Linux下mysql数据库的备份-putty

WBOY
WBOYOriginal
2016-06-07 16:04:151498browse

前提:具有ssh登陆权限 工作步骤: 下载软件putty,设置ssh 登陆选项 登陆后,进入自己的主页目录*(通过ftp可以访问到) 执行mysqldump命令可执行数据库备份,而mysqlrestore命令则恢复数据库。 格式: pXXXXXXX@kundenserver:~ mysqldump -hdbXX.puretec.de -

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


  • 执行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 $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


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn