MySQL数据库的恢复不了_MySQL数据库的恢复问题

1.要恢复MySQL数据库的话,先要看你自己的table是建立在什么样的引擎上的。

使用show engines命令可以查看自己是MySQL支持什么引擎,下表是我的结果。

mysql> show engines;

+------------+---------+----------------------------------------------------------------+

| Engine     | Support | Comment                                                        |

+------------+---------+----------------------------------------------------------------+

| MyISAM     | YES     | Default engine as of MySQL 3.23 with great performance         |

| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      |

| HEAP       | YES     | Alias for MEMORY                                               |

| MERGE      | YES     | Collection of identical MyISAM tables                          |

| MRG_MYISAM | YES     | Alias for MERGE                                                |

| ISAM       | NO      | Obsolete storage engine, now replaced by MyISAM                |

| MRG_ISAM   | NO      | Obsolete storage engine, now replaced by MERGE                 |

| InnoDB     | DEFAULT | Supports transactions, row-level locking, and foreign keys     |

| INNOBASE   | YES     | Alias for INNODB                                               |

| BDB        | YES     | Supports transactions and page-level locking                   |

| BERKELEYDB | YES     | Alias for BDB                                                  |

| NDBCLUSTER | NO      | Clustered, fault-tolerant, memory-based tables                 |

| NDB        | NO      | Alias for NDBCLUSTER                                           |

| EXAMPLE    | NO      | Example storage engine                                         |

| ARCHIVE    | YES     | Archive storage engine                                         |

| CSV        | NO      | CSV storage engine                                             |

| FEDERATED  | YES     | Federated MySQL storage engine                                 |

| BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) |

+------------+---------+----------------------------------------------------------------+

2.不同的引擎恢复方法不同,下面分别介绍;

MEMORY:不能备份,因为表中的所用内容都是放在内存中的,当MySQL服务重启后,所有的内容丢失;

MyISAM:可直接将数据库所在的目录copy/打包进行备份;

ARCHIVE:可直接将数据库所在的目录copy/打包进行备份;但是它只支持select和insert命令,不支持 auto inc,不能有索引和主键;

MERGE/MRG_MYISAM:可直接将数据库所在的目录copy/打包进行备份;只读的表;

参考:

mysql所支持的所有数据库引擎:

http://solutions.mysql.com/engines.html

介绍archive引擎的文章:

http://dev.mysql.com/tech-resources/articles/storage-engine.html

http://dev.mysql.com/doc/refman/5.1/en/archive-storage-engine.html

介绍merge引擎的文章:

http://dev.mysql.com/doc/refman/5.1/en/merge-storage-engine.html

3.InnoDB的问题

简单的说InnoDB不能通过直接copy数据库所在的目录来进行备份,所以数据库的引擎如果是它的话,

你最好经常使用mysqldump命令来备份你自己的数据库。

PS:关于InnoDB的备份的问题,我google了两天,没有完美的解决方案,有人说有一个InnoDB Hot Backup

可以进行备份,我没有试过。

如果以上对你有帮助的话,请回复让我知道。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值