主机论坛_虚拟主机_美国主机_美国虚拟主机_云主机技术_全球主机交流聚集地—Web Hosting Talk 中文站

找回密码
立即注册
发新帖

0

收听

3

听众

19

主题
发表于 2014-12-10 14:53:11 | 查看: 1653| 回复: 4
唉,一次不够细心导致朋友的一个网站MySQL数据全没了。所谓吃一堑长一智,所以想想还是写篇文章提醒一下周边的小伙伴们。本着治病救人,药到根除的一贯方针,多多决定从mysql常识开始讲。


  数据库文件介绍


  MySQL的每个数据库都对应着一个与数据库同名的文件夹。另外,完整的数据库文件由以下两个部分组成:


 
 第一部分:MySQL所建数据库文件

  后缀为.frm的文件:存储数据表的框架结构,文件名与表名相同,每个表对应一个同名frm文件,与操作系统和存储引擎无关,即不管MySQL运行在何种操作系统上,使用何种存储引擎,都有这个文件。


  第二部分:MySQL所用存储引擎创建的数据库文件,存储引擎会创建各自不同的数据库文件。根据MySQL所使用的存储引擎的不同(常用的存储引擎是MyISAM和InnoDB)


  1、MyISAM数据库表文件包括(MYD文件:即MY Data,表数据文件; .MYI文件:即MY Index,索引文件; .log文件:日志文件)


  2、InnoDB数据库文件包括(ibdata1、ibdata2等:系统表空间文件,存储InnoDB系统信息和用户数据库表数据和索引,所有表共用; .ibd文件:单表表空间文件,每个表使用一个表空间文件(file per table),存放用户数据库表数据和索引; 日志文件: ib_logfile1、ib_logfile2)


  MySQL数据库存放位置

  1、MySQL如果使用MyISAM存储引擎,数据库文件类型就包括.frm、.MYD、.MYI,默认存放位置是/var/lib/mysql/data/你的数据库名(我用的ubuntu),注意:MyISAM是默认的引擎。


  2、MySQL如果使用InnoDB存储引擎,数据库文件类型就包括.frm、ibdata1、.ibd,存放位置有两个,.frm文件默认存放位置是/var/lib/mysql/data/你的数据库名,ibdata1、.ibd文件默认存放位置是/var/lib/mysql/data。


  PS: 看到没有,MyISAM只要备份一个与数据库同名的目录就行了,而InnoDB还要额外备份ibdata1、ibd文件。(这也正是我的悲剧点,呜呜呜~~~~)。


 
 备份辛酸史


  因为默认的引擎就是MyISAM,当朋友让我备份时,我想都没想就是直接备份了MySQL里data目录下与数据库名相同的目录,后来恢复时才发现原来朋友用的是InnoDB引擎,悲剧就这么产生了,唉!


 
 经验教训


  备份数据时,千万一定要提前查看备份数据库是什么引擎,然后确定需要备份的数据库文件,不知道数据库存储位置的朋友,可以在MySQL目录里的my.cnf配置文件中找到。偷偷再告诉你一个简单的大招吧,直接把MySQL目录整个备份,不用你写数据库备份脚本?也不用手动备份,交给多备份就好!一键备份多个云盘数据永不丢失,需要时再一键恢复。省事省力又省心!

收藏回复 显示全部楼层 道具 举报

发表于 2015-5-21 13:18:16
一定要经常去备份网站的内容

回复 显示全部楼层 道具 举报

发表于 2015-6-11 16:42:49
杀毒哈 发表于 2015-5-21 13:18
一定要经常去备份网站的内容

是的 绝对的经验之谈

回复 显示全部楼层 道具 举报

发表于 2015-8-14 23:07:19
不错哦!!!












回复 显示全部楼层 道具 举报

发表于 2017-8-16 13:01:18
哈哈,楼主不错












百香果苗 百香果苗价格 百香果种苗 百香果种苗价格 百香果果苗

回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|WebHostingTalk中文站

GMT+8, 2024-5-5 13:37 , Processed in 0.073210 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表