ubuntu14.04下通过.frm, .MYD,.MYI文件恢复建立mysql数据库

时间:2022-09-20 12:35:38

.frm .MYD .MYI都是Mysql存储数据的文件, 代表MySQL数据库表的结构/数据和索引文件。其中,*.frm是描述了表的结构,*.MYD保存了表的数据记录,*.MYI则是表的索引。

恢复建立mysql数据库时,先用 sudo su 切换到root角色。

第一,要找到初始安装mysql时,数据库存放的位置。通过指令 cd /etc/mysql切换到mysql目录下,然后用 vim my.cnf 打开my.cnf文件,查找datadir,例如datadir  = /var/lib/mysql,则数据库文件就保存在 /var/lib/mysql 目录下。

第二,通过 mkdir /var/lib/mysql/dbname 建立名为 dbname 数据库,然后通过cp -r 源目录/* /var/lib/mysql/dbname将.frm   .MYD    .MYI(可能还有.opt文件)拷贝到dbname目录下。打开phpmyadmin后,就会发现多了一个名为dbname的数据库。这样,数据库就建立完成了。

但是,当你点击数据库中的表时,可能会出现 Can't find file: '/xxx.frm'(errno:13)。出现这个问题的原因不是'/xxx.frm'这个文件不见了,而是这些文件的权限(应该要是mysql)不知道为什么变成了root。

解决方法:cd到xxx.frm文件所在目录下,执行一下命令:chown mysql.mysql * 将所有文件的权限都改过来就可以了!如cd /var/lib/mysql/dbname, 然后执行命令:chown mysql.mysql *

再次打开phpmyadmin,就会发现数据库中的表已经可以查看并进行操作了。