Mysql ibdata1已损坏,无法启动服务

问题描述 投票:0回答:1

我正在将一个旧的sql导入现有架构。但是mysql服务突然停止了。现在,我无法启动该服务。似乎ibdata1文件已损坏。这是我得到的日志。我尝试了几种方法,例如在my.cnf中添加innodb_force_recovery,杀死了所有的mysql进程。它们都不起作用。

有人可以帮忙吗?预先感谢!

我认为我发布了错误的日志。这是真实的日志:

=======================>

2017-12-08T17:56:24.927955Z 0 [注] InnoDB:使用CPU crc32指令2017-12-08T17:56:24.929802Z 0 [注意] InnoDB:正在初始化缓冲池,总大小= 128M,实例= 1,块大小= 128M2017-12-08T17:56:24.942256Z 0 [Note] InnoDB:缓冲池的初始化完成2017-12-08T17:56:24.961017Z 0 [注意] InnoDB:受支持的最高文件格式是梭子鱼。2017-12-08T17:56:24.962154Z 0 [Note] InnoDB:日志扫描经过检查点lsn 164174915862017-12-08T17:56:24.962169Z 0 [Note] InnoDB:正在执行恢复:最多扫描到日志序列号164174932782017-12-08T17:56:24.963433Z 0 [注意] InnoDB:数据库未正常关闭!2017-12-08T17:56:24.963443Z 0 [Note] InnoDB:启动崩溃恢复。2017-12-08T17:56:24.996387Z 0 [注意] InnoDB:开始将一批日志记录应用于数据库...InnoDB:进度百分比:70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96 97 98 992017-12-08T17:56:25.501869Z 0 [注意] InnoDB:完成申请批处理2017-12-08T17:56:25.626479Z 0 [Note] InnoDB:已删除临时表空间数据文件:“ ibtmp1”2017-12-08T17:56:25.626508Z 0 [Note] InnoDB:为临时表创建共享表空间2017-12-08T17:56:25.626637Z 0 [Note] InnoDB:将文件'./ibtmp1'的大小设置为12 MB。物理写入完整文件;请耐心等待 ...2017-12-08T17:56:25.649790Z 0 [注意] InnoDB:文件'./ibtmp1'的大小现在为12 MB。2017-12-08T17:56:25.650460Z 0 [注意] InnoDB:找到96个重做回滚段。 96个重做回滚段处于活动状态。2017-12-08T17:56:25.650469Z 0 [注意] InnoDB:32个非重做回滚段处于活动状态。2017-12-08T17:56:25.650670Z 0 [Note] InnoDB:等待清除开始2017-12-08T17:56:25.655806Z 0 [错误] InnoDB:文件操作中的操作系统错误号13。2017-12-08T17:56:25.655825Z 0 [错误] InnoDB:该错误表示mysqld没有对该目录的访问权限。2017-12-08 12:56:25 0x7000049f8000 InnoDB:文件fil0fil.cc行896中的线程123145379872768断言失败InnoDB:失败断言:成功InnoDB:我们有意生成一个内存陷阱。

InnoDB:向http://bugs.mysql.com提交详细的错误报告。InnoDB:如果您反复声明失败或崩溃,甚至InnoDB:mysqld启动后,可能立即InnoDB:InnoDB表空间中的损坏。请参阅InnoDB:http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.htmlInnoDB:关于强制恢复。17:56:25 UTC-mysqld收到信号6;这可能是因为您遇到了错误。这个二进制也有可能或与之链接的某个库已损坏,构建不当,或配置错误。该错误也可能是由硬件故障引起的。尝试收集一些有助于诊断问题的信息。由于这是一次崩溃,并且肯定有错误,因此该信息收集过程可能会失败。key_buffer_size = 8388608read_buffer_size = 131072max_used_connections = 0max_threads = 151thread_count = 0connection_count = 0mysqld可能用尽key_buffer_size +(read_buffer_size + sort_buffer_size)* max_threads = 68218 K内存希望没事;如果不是,则减少方程中的一些变量。线程指针:0x7f9792000000尝试回溯。您可以使用以下信息来查找mysqld在哪里死亡。如果此后您没有看到任何消息,则说明发生了某些情况严重错误...stack_bottom = 7000049f7e20 thread_stack 0x400000 mysqld 0x000000010caa714a my_print_stacktrace + 581个mysqld 0x000000010ca039d0 handle_fatal_signal + 6882 libsystem_platform.dylib 0x00007fffb8d52b3a _sigtramp + 263 mysqld 0x000000010d3bac17 _ZZN10binary_log4Uuid9to_stringEPKhPcE11byte_to_hex + 418794 libsystem_c.dylib 0x00007fffb8bd7420中止+ 1295 mysqld 0x000000010ccfd9c1 _Z23ut_dbg_assertion_failedPKcS0_m + 1616 mysqld 0x000000010cb623bc _ZL18fil_node_open_fileP10fil_node_t + 39487 mysqld 0x000000010cb6d962 _ZL23fil_node_prepare_for_ioP10fil_node_tP12fil_system_tP11fil_space_t + 1948 mysqld 0x000000010cb6e418 _Z6fil_ioRK9IORequestbRK9page_id_tRK11page_size_tmmPvS8_ + 10969 mysqld 0x000000010cb27073 _ZL17buf_read_page_lowP7dberr_tbmmRK9page_id_tRK11page_size_tb + 38710 mysqld 0x000000010cb27288 _Z13buf_read_pageRK9page_id_tRK11page_size_t + 5611 mysqld 0x000000010cb0bb7a _Z16buf_page_get_genRK9page_id_tRK11page_size_tmP11buf_block_tmPKcmP5mtr_tb + 129012 mysqld 0x000000010cae91e8 _Z27btr_cur_search_to_nth_levelP12dict_index_tmPK8dtuple_t15page_cur_mode_tmP9btr_cur_tmPKcmP5mtr_t + 400813 mysqld 0x000000010cc97824 _Z21row_search_on_row_refP10btr_pcur_tmPK12dict_table_tPK8dtuple_tP5mtr_t + 16414 mysqld 0x000000010cc956a6 _ZL34row_purge_remove_clust_if_poss_lowP12purge_node_tm + 43815个mysqld 0x000000010cc93a68 _Z14row_purge_stepP9que_thr_t + 194416 mysqld 0x000000010cc55919 _Z15que_run_threadsP9que_thr_t + 93717 MySQLd 0x000000010ccd9c4d _Z9trx_purgemmb + 297318个mysqld 0x000000010ccc2d57 srv_purge_coordinator_thread + 287119 libsystem_pthread.dylib 0x00007fffb8d5c93b _pthread_body + 18020 libsystem_pthread.dylib 0x00007fffb8d5c887 _pthread_body + 021 libsystem_pthread.dylib 0x00007fffb8d5c08d thread_start + 13试图获取一些变量。某些指针可能无效并导致转储中止。查询(0):是无效的指针连接ID(线程ID):0状态:NOT_KILLED

我正在将一个旧的sql导入现有架构。但是mysql服务突然停止了。现在,我无法启动该服务。似乎ibdata1文件已损坏。这是...

mysql innodb recovery
1个回答
0
投票

在将innodb_file_format_max设置为Antelope而不是默认的Barraccuda并将innodb_force_recovery设置为2 (SRV_FORCE_NO_BACKGROUND)之后,mysqld 10.2.17-MariaDB在我的开发环境中正常运行。

© www.soinside.com 2019 - 2024. All rights reserved.