【问题标题】:Mysql corruption on MacBook ProMacBook Pro 上的 Mysql 损坏
【发布时间】:2019-05-22 18:31:59
【问题描述】:

过去几天我不断遇到 MySQL 崩溃,看起来数据库损坏了,然后 MySQL 不断重新启动但无法稳定。我检查了磁盘,但看起来没问题。我需要一些关于如何阅读此错误以及检查什么的建议?

在错误日志中,我发现了这个错误

2019-05-22T13:29:28.226689Z 0 [System] [MY-010116] [Server] /usr/local/opt/mysql/bin/mysqld (mysqld 8.0.16) starting as process 88218
2019-05-22T13:29:28.232672Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
2019-05-22T13:29:28.326779Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 35
2019-05-22T13:29:29.326903Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 35
2019-05-22T13:29:30.401687Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 35
2019-05-22T13:29:31.475526Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 35
2019-05-22T13:29:32.545354Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 35
2019-05-22T13:29:33.637548Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 35
2019-05-22T13:29:33.637575Z 1 [ERROR] [MY-013183] [InnoDB] Assertion failure: fil0fil.cc:2509:success thread 123145356632064
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
13:29:33 UTC - mysqld got signal 6 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x7fabcb081400
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 7000033cdea0 thread_stack 0x46000
0   mysqld                              0x000000010b9d7443 my_print_stacktrace(unsigned char*, unsigned long) + 60
1   mysqld                              0x000000010b0a98d6 handle_fatal_signal + 438
2   libsystem_platform.dylib            0x00007fff6d9b6b5d _sigtramp + 29
3   ???                                 0x000000010ff19b76 0x0 + 4562459510
4   libsystem_c.dylib                   0x00007fff6d8706a6 abort + 127
5   mysqld                              0x000000010bccabdc ut_dbg_assertion_failed(char const*, char const*, unsigned long) + 332
6   mysqld                              0x000000010bb1ba53 Fil_shard::open_file(fil_node_t*, bool) + 791
7   mysqld                              0x000000010bb1d79d Fil_shard::open_system_tablespaces(unsigned long, unsigned long*) + 159
8   mysqld                              0x000000010bb1d86d Fil_system::open_all_system_tablespaces() + 57
9   mysqld                              0x000000010bc951a6 srv_start(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 3002
10  mysqld                              0x000000010bb9180d innobase_ddse_dict_init(dict_init_mode_t, unsigned int, List<dd::Object_table const>*, List<Plugin_tablespace const>*) + 451
11  mysqld                              0x000000010b89cdba dd::bootstrap::DDSE_dict_init(THD*, dict_init_mode_t, unsigned int) + 108
12  mysqld                              0x000000010b9bdbae dd::upgrade_57::do_pre_checks_and_initialize_dd(THD*) + 1805
13  mysqld                              0x000000010ad5e92a bootstrap::handle_bootstrap(void*) + 185
14  mysqld                              0x000000010bd1eea0 pfs_spawn_thread(void*) + 320
15  libsystem_pthread.dylib             0x00007fff6d9bf2eb _pthread_body + 126
16  libsystem_pthread.dylib             0x00007fff6d9c2249 _pthread_start + 66
17  libsystem_pthread.dylib             0x00007fff6d9be40d thread_start + 13

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0): 
Connection ID (thread ID): 1
Status: NOT_KILLED

【问题讨论】:

标签: mysql corruption


【解决方案1】:

去年,我在 macOS 上的三台不同计算机(两台 macbook 专业人士,一台 iMac)上发生了多次 (5+) MySQL 8 不可恢复的 innodb 崩溃。

今天最近:

2021-06-21T13:12:44.863980Z 0 [System] [MY-010116] [Server] /usr/local/Cellar/mysql/8.0.25_1/bin/mysqld (mysqld 8.0.25) starting as process 46771
2021-06-21T13:12:44.866651Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
2021-06-21T13:12:44.909851Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-06-21T13:12:44.992890Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-06-21T13:12:45.069896Z 1 [ERROR] [MY-013183] [InnoDB] Assertion failure: dict0dict.cc:3343:for_table || ref_table thread 0x7000063a7000
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
13:12:45 UTC - mysqld got signal 6 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x7fa8b0023c00
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 7000063a6f50 thread_stack 0x46000
0   mysqld                              0x0000000101d5a9fe my_print_stacktrace(unsigned char const*, unsigned long) + 60
1   mysqld                              0x0000000101365a34 handle_fatal_signal + 434
2   libsystem_platform.dylib            0x00007fff2052dd7d _sigtramp + 29
3   ???                                 0x0000000000004cba 0x0 + 19642
4   libsystem_c.dylib                   0x00007fff2043d411 abort + 120
5   mysqld                              0x0000000102013b34 ut_dbg_assertion_failed(char const*, char const*, unsigned long) + 394
6   mysqld                              0x0000000101dfdc15 dict_foreign_add_to_cache(dict_foreign_t*, char const**, bool, bool, dict_err_ignore_t) + 1159
7   mysqld                              0x0000000101e0de73 dd_table_load_fk_from_dd(dict_table_t*, dd::Table const*, char const**, dict_err_ignore_t, bool) + 1630
8   mysqld                              0x0000000101e0dfeb dd_table_load_fk(dd::cache::Dictionary_client*, char const*, char const**, dict_table_t*, dd::Table const*, THD*, bool, bool, std::__1::deque<char const*, ut_allocator<char const*> >*) + 75
9   mysqld                              0x0000000101e12074 dict_table_t* dd_open_table_one<dd::Table>(dd::cache::Dictionary_client*, TABLE const*, char const*, dd::Table const*, THD*, std::__1::deque<char const*, ut_allocator<char const*> >&) + 6405
10  mysqld                              0x0000000101e066aa dict_table_t* dd_open_table<dd::Table>(dd::cache::Dictionary_client*, TABLE const*, char const*, dd::Table const*, THD*) + 60
11  mysqld                              0x0000000101e064dd dd_table_open_on_dd_obj(THD*, dd::cache::Dictionary_client*, dd::Table const&, dd::Partition const*, char const*, dict_table_t*&, TABLE const*) + 1397
12  mysqld                              0x0000000101e072e2 dd_table_open_on_id_low(THD*, MDL_ticket**, unsigned long long) + 1246
13  mysqld                              0x0000000101e06c29 dd_table_open_on_id(unsigned long long, THD*, MDL_ticket**, bool, bool) + 1335
14  mysqld                              0x0000000101f392c5 MetadataRecover::apply() + 69
15  mysqld                              0x0000000101fdc2e8 srv_dict_recover_on_restart() + 144
16  mysqld                              0x0000000101eb7bae innobase_dict_recover(dict_recovery_mode_t, unsigned int) + 1506
17  mysqld                              0x0000000101c0fec4 dd::bootstrap::restart(THD*) + 248
18  mysqld                              0x0000000101d425a4 dd::upgrade_57::restart_dictionary(THD*) + 76
19  mysqld                              0x0000000101d40e4d dd::upgrade_57::do_pre_checks_and_initialize_dd(THD*) + 1334
20  mysqld                              0x0000000100fb11f0 bootstrap::handle_bootstrap(void*) + 225
21  mysqld                              0x00000001020783ca pfs_spawn_thread(void*) + 290
22  libsystem_pthread.dylib             0x00007fff204e88fc _pthread_start + 224
23  libsystem_pthread.dylib             0x00007fff204e4443 thread_start + 15

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0): 
Connection ID (thread ID): 1
Status: NOT_KILLED

The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
2021-06-21T13:12:45.6NZ mysqld_safe mysqld from pid file /usr/local/var/mysql/samaritan.pid ended
stnor@samaritan mysql % 

【讨论】:

    猜你喜欢
    • 2019-06-30
    • 1970-01-01
    • 2015-03-17
    • 2011-01-26
    • 2023-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多