你好,游客 登录 注册 搜索
背景:
阅读新闻

Linux下mysql数据库的备份

[日期:2006-06-08] 来源:  作者:未知 [字体: ]
前提:具有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';

收藏 推荐 打印 | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
相关新闻      
热门评论