首页 | 公司简介 | 数据恢复 | 成功案例 | 技术中心 | 客户服务 | 服务报价 | 联系我们 | 技术论坛  
 
  北京总部: 4006-505-808
  上 海 部: 021-58358765
  深 圳 部: 0755-83692929
  浙 江 部: 13666673722
  其它地区: 4006-505-808

工商银行山东分行-AIX删除LV数
濮阳市地方税务局-CHKDSK后数据
台湾HD公司-FreeBSD Nas无法启
promise乔鼎硬盘阵列数据恢复成
IBM EXP300 磁盘阵列数据恢复成
NAS 8100无法挂载数据卷
Liteon-Dell 2850服务器数据恢
SQL Server的MDF文件无法附加

LINUX FSCK数据出错灾难应急方
误删除、误格式化数据灾难应急
误GHOST、误一键恢复灾难应急方
 磁盘未被格式化,是否格式化数
raid磁盘阵列OFFLINE后的应急方
硬盘出现异响应急处理
您当前的位置:首页 >> 技术中心 >> 数据库修复文栏 >> 正文

MySQL数据库和备份与恢复

  %mysqldump samp_db >/usr/archives/mysql/samp_db.1999-10-02 

  输出文件的开头看起来象这样: 

  # MySQL Dump 6.0 
  # 
  # Host: localhost Database: samp_db 
  #--------------------------------------- 
  # Server version 3.23.2-alpha-log 
  # 
  # Table structure for table 'absence' 
  # 
  CREATE TABLE absence( 
  student_id int(10) unsigned DEFAULT '0' NOT NULL, 
  date date DEFAULT '0000-00-00' NOT NULL, 
  PRIMARY KEY (student_id,date) 
  ); 
  # 
  # Dumping data for table 'absence' 
  # 
  INSERT INTO absence VALUES (3,'1999-09-03'); 
  INSERT INTO absence VALUES (5,'1999-09-03'); 
  INSERT INTO absence VALUES (10,'1999-09-08'); 
  ......  

  文件剩下的部分有更多的INSERT和CREATE TABLE语句组成。 

  如果你想压缩备份,使用类似如下的命令: 

  %mysqldump samp_db | gzip >/usr/archives/mysql/samp_db.1999-10-02.gz 

  如果你要一个庞大的数据库,输出文件也将很庞大,可能难于管理。如果你愿意,你可以在mysqldump命令行的数据库名后列出单独的表名

来倾到它们的内容,这将倾倒文件分成较小、更易于管理的文件。下例显示如何将samp_db数据库的一些表倾到进分开的文件中: 

  %mysqldump samp_db student score event absence >grapbook.sql 
  %mysqldump samp_db member president >hist-league.sql 

  如果你生成准备用于定期刷新另一个数据库内容的备份文件,你可能想用--add-drop-table选项。这告诉服务器将DROP TABLE IF EXISTS

语句写入备份文件,然后,当你取出备份文件并把它装载进第二个数据库时,如果表已经存在,你不会得到一个错误。 

  如果你倒出一个数据库以便能把数据库转移到另一个服务器,你甚至不必创建备份文件。要保证数据库存在于另一台主机,然后用管道倾

倒数据库,这样mysql能直接读取mysqldump的输出。例如:你想从主机pit-viper.snake.net拷贝数据库samp_db到boa.snake.net,可以这样很

容易做到:

  %mysqladmin -h boa.snake.net create samp_db 
  %mysqldump samp_db | mysql -h boa.snake.net samp_db 

  以后,如果你想再次刷新boa.snake.net上的数据库,跳过mysqladmin命令,但要对mysqldump加上--add-drop-table以避免的得到表已存

在的错误: 
%mysqldump --add-drop-table samp_db | mysql -h boa.snake.net samp_db 
mysqldump其它有用的选项包括:

  --flush-logs和--lock-tables组合将对你的数据库检查点有帮助。--lock-tables锁定你正在倾倒的所有表,而--flush-logs关闭并重新

打开更新日志文件,新的更新日志将只包括从备份点起的修改数据库的查询。这将设置你的更新日志检查点位备份时间。(然而如果你有需要

执行个更新的客户,锁定所有表对备份期间的客户访问不是件好事。)

  如果你使用--flush-logs设置检查点到备份时,有可能最好是倾倒整个数据库。如果你倾倒单独的文件,较难将更新日志检查点与备份文

件同步。在恢复期间,你通常按数据库为基础提取更新日志内容,对单个表没有提取更新的选择,所以你必须自己提取它们。

  缺省地,mysqldump在写入前将一个表的整个内容读进内存。这通常确实不必要,并且实际上如果你有一个大表,几乎是失败的。你可用-

-quick选项告诉mysqldump只要它检索出一行就写出每一行。为了进一步优化倾倒过程,使用--opt而不是--quick。--opt选项打开其它选项,

本新闻共4页,当前在第2页  1  2  3  4  

上一篇:八个学习点帮助你全面认识Oracle数据库
下一篇:SQL Server 如何将直接传递查询作为表
返回首页 | 联系我们 | 关于我们 | 招聘信息 | 友情链接 | 网站地图 | 合作伙伴
版权所有 北京北亚数据恢复中心
24小时免费咨询电话:4006-505-808 或 800-810-5880
公司地址:北京市海淀区学院南路68号吉安大厦C座(汇智楼)528室
京ICP备06061795