MySQL通过拷贝源文件恢复数据

当数据库突发异常且无备份时,可通过拷贝MySQL源文件进行数据恢复。步骤包括:1) 查找源文件并拷贝;2) 在新服务器上安装MySQL并停止服务;3) 拷贝ibdata1和自定义数据库目录,删除日志文件,并调整文件权限;4) 启动MySQL服务,连接数据库并导出SQL。注意权限设置与一致性,确保服务正常启动。

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

MySQL拷贝源文件恢复数据

场景:数据库突发异常无法启动且平时未做备份时的特殊处理办法

  1. 第一步:通过MySQL的配置文件找到源文件位置,并将源文件拷贝到本地
    如下图:
    CentOS系统中MySQL的配置文件位置及源文件位置
    在这里插入图片描述
    Ubuntu系统中MySQL的配置文件位置及源文件位置
    在这里插入图片描述
    以上目录位置皆为安装MySQL时默认位置!!!
  2. 第二步:将/var/lib/mysql中的mysql目录拷贝出来,mysql目录中包含了以下文件,如图:
    在这里插入图片描述
    其中蓝色目录对应我们的数据库,里面存放的是该数据库的表结构及表数据、索引结构等数据。
    mysql、performance_schema、sys这三个库是MySQL系统库,其他的是我们自己的数据库,在恢复数据时我们只需要将ibdata1我们自己的库目录拷贝到新的库中去。
  3. 第三步:找一台服务器(可以是虚拟机),在上面新安装一个MySQL服务,安装成功后,将MySQL服务stop掉,再将我们本地保存的待恢复的源文件ibdata1我们自己的库目录拷贝到新服务器上MySQL的源文件目录(/var/lib/mysql)下,并将该目录下的ib_logfile0、ib_logfile1两个文件删除掉,然后注意拷贝进去的源文件的权限(即用户、组)是否和MySQL安装时的用户和组一致,若不一致,则修改一致后再启动MySQL服务,否则可能会出现启动异常或读取不到数据等情况。
  4. 第四步:启动成功后,通过工具连接该数据库即可看到恢复的数据,然后就可以导出成SQL文件了。

修改目录权限命令:

#先进到/var/lib目录
cd /var/lib

#修改mysql目录及其下所有子目录和文件的所属用户
chown -R mysql mysql

#修改mysql目录及其下所有子目录和文件的所属用户组
chgrp -R mysql mysql

#修改拷贝进去的数据库目录的权限与MySQL的系统库目录权限一致
chmod 750 yourBaseName

#修改ibdata1文件的权限与MySQL的系统自带文件权限一致(可做可不做,我是强迫症)
chmod 640 ibdata1

#再进入每个拷贝的库文件目录中将其中的文件权限修改一致(可做可不做,我是强迫症)
chmod 640 *

此方法并非百分百有效,仅在应急时使用,平时做好备份!!平时做好备份!!平时做好备份!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值