centos mysql压缩文件直接恢复_centos下mysql通过物理文件恢复数据

博客介绍了在CentOS系统中,通过物理文件恢复MySQL数据库的方法。当数据库“突然”消失时,可利用/var/lib/mysql中的数据库文件夹及相关文件,如.frm、.ibd、ibdata1等,经关闭服务器、复制文件夹和文件、更改权限、启动服务器等步骤恢复数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

日常工作中,可能会遇到数据库“突然“消失的情况,这里不对情况做分析,这次的重点是如何通过物理文件恢复数据。

mysql的每一个数据库都对应存放在一个与数据库同名的文件夹中,文件夹的位置在/var/lib/mysql中:

• 数据文件夹包括两部分内容,一个是.frm创建表的文件,一个是.ibd存放表数据和索引的文件。

• ibdata1是系统表文件,存放的是系统用户表数据(下面会用到,这次做个解释)

这里我说的InnoDB引擎,如果是MyISAM引擎的话文件有区别,自行百度

举个例子:

• 假设现在有一个名为piegg的数据库,那么在/var/lib/mysql中就有一个piegg文件夹

• 假设piegg中有一个名为users的表,那么piegg文件夹中,那么piegg文件夹中就有两个文件,users.frm和users.ibd

现在假设数据库piegg“突然”消失了,表和数据都不见了,但是我们可以看到/var/lib/mysql中有piegg文件夹,那么恭喜你,不用删除跑路了,我们先将mysql文件夹移动/root目录,然后开始恢复

关闭服务器(重要)

systemctl stop mysqld

复制数据库文件夹

sudo cp -rf ~/mysql/piegg /var/lib/mysql/

更改文件夹权限

sudo chown -R mysql:mysql /var/lib/mysql/piegg

sudo chmod -R 660 /var/lib/mysql/piegg

sudo chown mysql:mysql /var/lib/mysql/piegg

sudo chmod 700 /var/lib/mysql/piegg

4 复制ibdata1

sudo cp ~/mysql/ibdata1 /var/lib/mysql/

sudo chown mysql:mysql /var/lib/mysql/ibdata1

复制ib_logfile0和ib_logfile1

sudo cp ~/mysql/ib_logfile0 /var/lib/mysql/

sudo cp ~/mysql/ib_logfile1 /var/lib/mysql/

更改文件权限

sudo chown -R mysql:mysql /var/lib/mysql/ib_logfile0

sudo chown -R mysql:mysql /var/lib/mysql/ib_logfile1

启动服务器

systemctl start mysqld

再次查询数据库,piegg就回来了。

有什么问题,欢迎评论交流~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值