zoukankan      html  css  js  c++  java
  • MySQL InnoDB类型数据库的恢复

     MySQL的数据库文件直接复制便可以使用,但是那是指“MyISAM”类型的表。 
    而使用MySQL-Front直接创建表,默认是“InnoDB”类型,这种类型的一个表在磁盘上只对应一个“*.frm”文件,不像MyISAM那样还“*.MYD,*.MYI”文件。 
        
    MyISAM类型的表直接拷到另一个数据库就可以直接使用,但是InnoDB类型的表却不行。解决方法就是:

        
    同时拷贝innodb数据库表“*.frm”文件和innodb数据“ibdata1”文件到合适的位置。启动MySQL的Windows服
    务,如果不能成功的话,查看data文件夹中有个“*.err”错误日志文件,其中会对启动失败的原因有所描述的。比如我碰到过两种错误原因。 
    一种是类似这样的错误信息:

    INIFile code
    <!--

    Code highlighting produced by Actipro CodeHighlighter (freeware)
    http://www.CodeHighlighter.com/

    -->InnoDB: Error: log file ./ib_logfile0 is of different size
    0

    10485760
    bytes
    InnoDB: than specified in the .cnf file
    0

    25165824
    bytes!

    这是因为在mysql配置文件中配置的日志文件大小与实际的不相符。 
    解决方法是直接删掉旧的“ib_logfile0”等日志文件,重启MySQL后会自动生成新的日志文件的。 
    另一中则是这样的错误信息

    INIFile code
    <!--

    Code highlighting produced by Actipro CodeHighlighter (freeware)
    http://www.CodeHighlighter.com/

    -->InnoDB: Operating system error number
    5
    in a file operation.
    InnoDB: The error means mysqld does not have the access rights to
    InnoDB: the directory. It may also be you have created a subdirectory
    InnoDB: of the same name as a data file.
    InnoDB: File name ./ibdata1
    InnoDB: File operation call: 'open'.
    InnoDB: Cannot continue operation.

    经检查原来是“ibdata1”文件在复制的过程中不知怎的被加上只读属性了。 
    解决方法是去掉“ibdata1”文件的只读属性便可。

    转自【http://bzhang.javaeye.com/category/54570?show_full=true】

  • 相关阅读:
    Linux如何开启mysql版本
    解决Centos7安装nginx后提示“Welcome to nginx on Fedora!”,conf.d目录下无default.conf文件
    如何屏蔽root用户(禁止以root用户登陆)的方法
    Linux修改文件时候,产生了一个.swap交换文件,如何删除
    Linux私钥公钥对认证身份,实现免密登陆
    Linux7/Centos7破解root用户密码
    Linux常用命令
    oracle 触发器 dblink
    phoenix sql语句优化
    如何在服务器端获取客户端的数据
  • 原文地址:https://www.cnblogs.com/xiaoleiel/p/8316568.html
Copyright © 2011-2022 走看看