mysql-强制InnoDB恢复

本文介绍了如何在MySQL中谨慎使用InnoDB的innodb_force_recovery设置,特别是在紧急情况下启用恢复。强调了备份的重要性,并提供了处理无法打开数据文件错误的步骤,包括检查权限和正确操作数据库表空间。
摘要由CSDN通过智能技术生成

只有在紧急情况下才将innodb_force_recovery设置为大于0的值,这样才能启动和转储表。在此之前,确保有数据库的备份副本,以备需要重新创建时使用。值为4或更大可能永久损坏数据文件。只有在数据库的单独物理副本上成功测试了innodb_force_recovery设置后,才能在生产服务器实例上使用4或更大的innodb_force_recovery设置。当强制恢复时,应该始终以innodb_force_recovery=1开始,并且只在必要时增量地增加值。InnoDBInnoDB

[mysqld]
innodb_force_recovery = 1

2. 无法打开数据文件

[ERROR] InnoDB: Operating system error number 2 in a file operation.
[ERROR] InnoDB: The error means the system cannot find the path specified.
[ERROR] InnoDB: Cannot open datafile for read-only: './test/t1.ibd' OS error: 71
[Warning] InnoDB: Ignoring tablespace `test/t1` because it could not be opened.

src:
flush tables table_name for export;
cd $datadir/dbname
cp tbname.*  /data/bak


dst:
create database database;
use database;
create table xxx
cp /data/bak   $datadir/dbname(PS:注意权限)
ALTER TABLE database.table_name DISCARD TABLESPACE;
SHOW WARNINGS;

https://dev.mysql.com/doc/refman/8.0/en/innodb-troubleshooting-datadict.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韶博雅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值