diff options
Diffstat (limited to 'storage/xtradb/srv/srv0start.c')
-rw-r--r-- | storage/xtradb/srv/srv0start.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/storage/xtradb/srv/srv0start.c b/storage/xtradb/srv/srv0start.c index 99916610c21..59697731e6c 100644 --- a/storage/xtradb/srv/srv0start.c +++ b/storage/xtradb/srv/srv0start.c @@ -925,8 +925,9 @@ skip_size_check: #endif /* UNIV_LOG_ARCHIVE */ min_flushed_lsn, max_flushed_lsn); - if (UNIV_PAGE_SIZE - != fsp_flags_get_page_size(flags)) { + if (!one_opened + && UNIV_PAGE_SIZE + != fsp_flags_get_page_size(flags)) { ut_print_timestamp(stderr); fprintf(stderr, @@ -1938,6 +1939,12 @@ innobase_start_or_create_for_mysql(void) trx_sys_dummy_create(TRX_DOUBLEWRITE_SPACE); } + + if (UNIV_UNLIKELY(!dict_verify_xtradb_sys_stats())) { + fprintf(stderr, "InnoDB: Warning: " + "SYS_STATS table corrupted, recreating\n"); + dict_recreate_xtradb_sys_stats(); + } } if (!create_new_db && sum_of_new_sizes > 0) { |