免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: kent2004
打印 上一主题 下一主题

mysql恢复问题 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2008-08-02 11:36 |显示全部楼层
这样的恢复要分两种情况.

  1. 1.要恢复的表在导出的时候是第一个被导出的表
  2. 在这种情况下,直接导入就可以了,其他表已存在,不会导入
  3. mysql> use db1;
  4. Database changed
  5. mysql> show tables;
  6. +---------------+
  7. | Tables_in_db1 |
  8. +---------------+
  9. | t1            |
  10. | t2            |
  11. | t3            |
  12. +---------------+
  13. 3 rows in set (0.00 sec)
  14. mysql> select * from t1; select * from t2; select * from t3;
  15. +------+-------+
  16. | id   | name  |
  17. +------+-------+
  18. |    1 | yxyup |
  19. |    1 | yxyup |
  20. +------+-------+
  21. 2 rows in set (0.00 sec)

  22. +------+-------+
  23. | id   | name  |
  24. +------+-------+
  25. |    1 | yxyup |
  26. |    1 | yxyup |
  27. +------+-------+
  28. 2 rows in set (0.00 sec)

  29. +------+-------+
  30. | id   | name  |
  31. +------+-------+
  32. |    1 | yxyup |
  33. |    1 | yxyup |
  34. +------+-------+
  35. 2 rows in set (0.00 sec)


  36. mysql> drop table t1;
  37. Query OK, 0 rows affected (0.03 sec)

  38. mysql> show tables;
  39. +---------------+
  40. | Tables_in_db1 |
  41. +---------------+
  42. | t2            |
  43. | t3            |
  44. +---------------+
  45. 2 rows in set (0.00 sec)

  46. [mysql@QANEW mysql]$ mysql -uroot -pabc123 -D db1 < db1.dump
  47. ERROR 1050 at line 28: [color=Red]Table 't2' already exists[/color]

  48. mysql> show tables;
  49. +---------------+
  50. | Tables_in_db1 |
  51. +---------------+
  52. | t1            |
  53. | t2            |
  54. | t3            |
  55. +---------------+
  56. 3 rows in set (0.00 sec)


  57. 2. 如果在恢复的表,不是第一个被导出的,那么是没有办法被恢复的(至少我现在不知道恢复).
  58. 我一般采用的恢复方式是.将mysqldump导出的dump文件进行抽表,把要恢复的表结构和记录抽取出来.


  59. mysql> show tables;
  60. +---------------+
  61. | Tables_in_db1 |
  62. +---------------+
  63. | t1            |
  64. | t2            |
  65. | t3            |
  66. +---------------+
  67. 3 rows in set (0.00 sec)

  68. mysql> drop table t3;
  69. Query OK, 0 rows affected (0.00 sec)

  70. mysql> show tables;
  71. +---------------+
  72. | Tables_in_db1 |
  73. +---------------+
  74. | t1            |
  75. | t2            |
  76. +---------------+
  77. 2 rows in set (0.00 sec)

  78. [mysql@QANEW mysql]$ mysql -uroot -pabc123 -D db1 < db1.dump
  79. ERROR 1050 at line 11: Table 't1' already exists

  80. mysql> show tables;
  81. +---------------+
  82. | Tables_in_db1 |
  83. +---------------+
  84. | t1            |
  85. | t2            |
  86. +---------------+
  87. 2 rows in set (0.00 sec)

  88. ----可以看出如果不是第一个被导出的表是无法恢复的.


  89. 用抽取方法试一下

  90. [mysql@QANEW mysql]$ vi db1_t3.dump

  91. --
  92. -- Table structure for table `t3`
  93. --

  94. CREATE TABLE t3 (
  95.   id int(11) default NULL,
  96.   `name` char(10) default NULL
  97. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

  98. --
  99. -- Dumping data for table `t3`
  100. --


  101. INSERT INTO t3 VALUES (1,'yxyup');
  102. INSERT INTO t3 VALUES (1,'yxyup');

  103. [mysql@QANEW mysql]$ mysql -uroot -pabc123 -D db1 < db1_t3.dump

  104. mysql> show tables;
  105. +---------------+
  106. | Tables_in_db1 |
  107. +---------------+
  108. | t1            |
  109. | t2            |
  110. | t3            |
  111. +---------------+
  112. 3 rows in set (0.01 sec)

  113. mysql> desc t3;
  114. +-------+----------+------+-----+---------+-------+
  115. | Field | Type     | Null | Key | Default | Extra |
  116. +-------+----------+------+-----+---------+-------+
  117. | id    | int(11)  | YES  |     | NULL    |       |
  118. | name  | char(10) | YES  |     | NULL    |       |
  119. +-------+----------+------+-----+---------+-------+
  120. 2 rows in set (0.01 sec)

  121. mysql> select * from t3;
  122. +------+-------+
  123. | id   | name  |
  124. +------+-------+
  125. |    1 | yxyup |
  126. |    1 | yxyup |
  127. +------+-------+
  128. 2 rows in set (0.00 sec)


  129. 成功恢复了

  130. 当然,如果全库导出的文件很大,在抽取时会很困难.


  131. ________________
复制代码

[ 本帖最后由 yxyup 于 2008-8-2 11:38 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP