linux复制数据库文件提示表不存在,二级考试MySQL数据库怎么用?mysql拷贝数据库库文件,复制还原后显示表不存在怎么办...

问题环境,最近准备mysql考试,用的  **教育的题库,做操作题的时候发现把题库给的数据库文件复制data目录,能显示表,但是不能操作表

1 查看mysql存放数据库文件的目录

72751ee5281642a7913e8d84c502ae40.png

2 将题库给的数据库文件复制到data目录下面,记得复制文件的时候应该退出mysql控制台,把MySQL服务关闭掉,复制之后,再开启mysql服务,

b85c84b1b504aed777a5411b0b2cf747.png

Ps 可以在 我的电脑 -> 管理 –> 服务和应用程序,找到MySQL服务,也可在cmd控制台快速关闭和开启,在Windows左下角点击搜索输入cmd然后,右击选择用管理员身份打开

6486eba12eb7635480ade4a2c7b8a4e3.png     f9b22bd7a5df8ed92b92236e8c184591.png

然后输入,注意方框中是服务名称,有可能你给我的不一样,因为MySQL的版本可能不一样

29e3000cd48b2c69c90de0e69822da96.png

3 复制后发现有表却不能操作表,显示表不存在,明明上面显示有表呢

0436f749fa927022c4cdafce8d1cda7d.png

4 但是我们去data目录却发现data目录多了几个文件

67fb39ae172b31b39d2d119780b5d901.png

5 错误提示文件 .err,前面是主机名,不同的主机文件名不一样,但后缀是一样的,,查看主机名,ipconfig/all

81bed0097419194e6d1e9de64ad485be.png

6 我们用记事本打开,以err结尾的错误日志文件,提示的错误,其实也给出你解决的办法,提示说 innodb引擎不见了

部分截图

49720f91be1b0a4956acebb6d09b3f57.png

7 查看当前数据库的引擎

eead8c85513c49796a3731f855c4d8d4.png

8 发现默认的数据库引擎是innodb,当你建立表时若不指明数据库的引擎,那么他的默认引擎就是InnoDB,而错误里面提示了innodb不见了是什么了,百度了一下说,InnoDB与ibdata1文件有关,再百度了一下ibdata1是什么  http://blog.csdn.net/anljf/article/details/6653282

00fff79973f8ae4ec2792cffa906f50d.png

9 对头,复制的数据库文件文件b1040aa0c4e6004ba3deca1c788ca2cc.png,里面只是数据库和表的结构,所示show的时候还是能看见的,但是select的时候就出问题了,因为数据存储在另外一个文件里面,就是ibdata1,所以当你备份数据库的时候不能只拷贝数据库文件,还得把ibdata1这个文件拷贝上,而当你恢复数据库的时候,也得把这两个文件都复制在data目录里面,当提示的时候选择替换掉原来的ibdata1文件

961694eb996236cef673241a7567e936.png

Ps 非常重要的一点,作为IT人员最重要的就是备份,备份,再备份,但是今天还是失蹄了,练习写了一个小网页,用的就是mysql,最近也比较忙,所以做题库也就没有去虚拟机里面搞,就在物理机上面做,当我点击替换的时候,瞬间就醒悟了,有点gg思密达的感觉,虽然不知道错在哪里了,但是有种不祥的预感,回头去cmd控制台,select一看,我原来创建的表全都不能操作了,欲哭无泪,因为我们替换的ibdata1,文件是别人创建的表,保存的只是别人表的数据,并没有保存我们自己的数据,所以无论怎样,当要替换的时候,是不是应该把这个文件备份一下呢?

11 知道怎么解决了把,就是把ibdatadb1文件复制到data目录替换,记得备份哟!!! 但是奇怪的是复制过去之后还是显示不存在

34b86698d3272bb4d4babc59927584ae.png

12 当然是因为这三个文件了,这三个文件是在启动mysql服务和登录mysql的时候生成的,记录了一些重要的配置和信息,所以啊得把三个文件删掉,删掉之前应该把MySQL服务关闭掉,可以在 我的电脑 -> 管理 –> 服务和应用程序,找到MySQL服务

d5100f7b04b240cde3d7254f83ded2bf.png

13 然后重新启动,再操作 数据库就可以了

f57d4b1ad28bd6d82bc87129e3887754.png

学习之路漫长!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值