create table t1(f1 int not null, f2 int not null, index idx(f2))engine=innodb; create table t2(f1 int primary key, f2 int, index idx(f2))engine=innodb; insert into t1 values(1, 2); insert into t2 values(1, 2); SET GLOBAL innodb_fast_shutdown = 0; # restart: --innodb-force-recovery=4 SELECT CAST(variable_value AS INTEGER) INTO @read1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME='innodb_buffer_pool_read_requests'; select * from t1; f1 f2 1 2 SELECT CAST(variable_value AS INTEGER) INTO @read2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME='innodb_buffer_pool_read_requests'; SELECT @read1>0, @read2>@read1; @read1>0 @read2>@read1 1 1 begin; insert into t1 values(2, 3); rollback; alter table t1 add f3 int not null, algorithm=copy; alter table t1 add f4 int not null, algorithm=inplace; drop index idx on t1; update t1 set f1=3 where f2=2; create table t3(f1 int not null)engine=innodb; drop table t3; rename table t1 to t3; rename table t3 to t1; truncate table t1; show tables; Tables_in_test t1 t2 # restart: --innodb-force-recovery=5 select * from t2; f1 f2 1 2 insert into t2 values(2, 3); ERROR HY000: Running in read-only mode alter table t2 add f3 int not null, algorithm=copy; ERROR HY000: Can't create table `test`.`t2` (errno: 165 "Table is read only") alter table t2 add f3 int not null, algorithm=inplace; ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Running in read-only mode. Try ALGORITHM=COPY drop index idx on t2; ERROR HY000: Can't create table `test`.`t2` (errno: 165 "Table is read only") update t2 set f1=3 where f2=2; ERROR HY000: Running in read-only mode create table t3(f1 int not null)engine=innodb; ERROR HY000: Can't create table `test`.`t3` (errno: 165 "Table is read only") drop table t3; ERROR HY000: Table 't3' is read only rename table t2 to t3; ERROR HY000: Error on rename of './test/t2' to './test/t3' (errno: 165 "Table is read only") truncate table t2; ERROR HY000: Table 't2' is read only drop table t2; ERROR HY000: Table 't2' is read only create schema db; drop schema db; show tables; Tables_in_test t1 t2 # restart: --innodb-force-recovery=6 select * from t2; f1 f2 1 2 insert into t2 values(2, 3); ERROR HY000: Table 't2' is read only alter table t2 add f3 int not null, algorithm=copy; ERROR HY000: Table 't2' is read only alter table t2 add f3 int not null, algorithm=inplace; ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Running in read-only mode. Try ALGORITHM=COPY drop index idx on t2; ERROR HY000: Table 't2' is read only update t2 set f1=3 where f2=2; ERROR HY000: Table 't2' is read only create table t3(f1 int not null)engine=innodb; ERROR HY000: Can't create table `test`.`t3` (errno: 165 "Table is read only") drop table t1; ERROR HY000: Table 't1' is read only rename table t2 to t3; ERROR HY000: Error on rename of './test/t2' to './test/t3' (errno: 165 "Table is read only") truncate table t2; ERROR HY000: Table 't2' is read only drop table t2; ERROR HY000: Table 't2' is read only show tables; Tables_in_test t1 t2 # restart: --innodb-force-recovery=2 select * from t2; f1 f2 1 2 begin; update t2 set f2=3; connect con1,localhost,root,,; # Force a redo log flush of the above uncommitted UPDATE SET GLOBAL innodb_flush_log_at_trx_commit=1; drop table t1; disconnect con1; connection default; # Kill the server # restart: --innodb-force-recovery=3 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; select * from t2; f1 f2 1 3 SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; select * from t2; f1 f2 1 2 SET SESSION innodb_lock_wait_timeout=1; insert into t2 values(1,2); ERROR HY000: Lock wait timeout exceeded; try restarting transaction insert into t2 values(9,10); # restart select * from t2; f1 f2 1 2 9 10 drop table t2; show tables; Tables_in_test