从innodb数据文件恢复数据库
时间:2015-01-27 17:11 来源: 我爱IT技术网 作者:小搜
前几天重装了系统,当时没有备份数据库只备份了数据文件(innodb数据库),下面介绍一下完整的数据文件恢复过程
环境
操作系统:ubuntu 12.04
mysql:mysql 5.5.24
1.创建数据库
假设需要恢复的数据库有demo1,demo2和demo3,你需要先创建这三个数据库
create database demo1;
create database demo2;
create database demo3;
2.停止mysql服务
jim@jim-laptop:~$ sudo service mysql stop [sudo] password for jim: mysql stop/waiting jim@jim-laptop:~$
3.提升权限
mysql的数据文件在/var/lib/mysql目录下,只有root权限才能进入,所以需要先提升权限
jim@jim-laptop:~$ sudo -i [sudo] password for jim: root@jim-laptop:~$
4.复制数据文件
假设我们事先备份的mysql数据文件都在/opt/mysql目录下,可以看到其中包含demo1,demo2,demo3三个目录,这三个目录里是三个数据库的所有表的表结构之类的信息,而数据是在ibdata1文件中。
开始复制文件
root@jim-laptop:~$ cp /opt/mysql/ibdata1 /var/lib/mysql root@jim-laptop:~$ cp /opt/mysql/demo1 /var/lib/mysql -r root@jim-laptop:~$ cp /opt/mysql/demo2 /var/lib/mysql -r root@jim-laptop:~$ cp /opt/mysql/demo3 /var/lib/mysql -r
5.修改权限
最后还要修改权限,把文件所有者改为mysql。如果不改权限,在查询的时候会报一个1017错误
Error Code: 1017. Can't find file xxxxxxxx.frm' (errno: 13)
root@jim-laptop:~$ chown mysql:mysql /var/lib/mysql -R root@jim-laptop:~$
6.启动mysql
最后启动mysql,查询一下,数据应该都恢复成功了。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
