

MacでHomebrewからインストールしたMySQLを使っています。  
MySQLを起動しようとしたところ、  
`ERROR! The server quit without updating PID file
(/usr/local/var/mysql/******.pid).`  
と出力され、起動できませんでした。  
/usr/local/var/mysql/******.errorには、

[code]

    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.
    2022-06-22T10:31:12.610310Z 0 [System] [MY-010116] [Server] /usr/local/Cellar/mysql/8.0.28_1/bin/mysqld (mysqld 8.0.28) starting as process 41507
    2022-06-22T10:31:12.614068Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
    2022-06-22T10:31:12.630541Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
    2022-06-22T10:31:12.854878Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
    2022-06-22T10:31:12.963602Z 1 [ERROR] [MY-013183] [InnoDB] Assertion failure: dict0dict.cc:3378:for_table || ref_table thread 0x700001d78000
    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.
    10:31:12 UTC - mysqld got signal 6 ;
    Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
    Thread pointer: 0x7fbb86814800
    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 = 700001d77f50 thread_stack 0x100000
    0   mysqld                              0x00000001027e318e my_print_stacktrace(unsigned char const*, unsigned long) + 60
    1   mysqld                              0x0000000101ebbc90 print_fatal_signal(int) + 412
    2   mysqld                              0x0000000101ebbe3d my_server_abort() + 67
    3   mysqld                              0x00000001027ddcda my_abort() + 10
    4   mysqld                              0x0000000102aadb34 ut_dbg_assertion_failed(char const*, char const*, unsigned long long) + 394
    5   mysqld                              0x000000010288a0df dict_foreign_add_to_cache(dict_foreign_t*, char const**, bool, bool, dict_err_ignore_t) + 1166
    6   mysqld                              0x00000001028999e4 dd_table_load_fk_from_dd(dict_table_t*, dd::Table const*, char const**, dict_err_ignore_t, bool) + 1630
    7   mysqld                              0x0000000102899b5b 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*, ut::detail::allocator_base_pfs<char const*> > >*) + 75
    8   mysqld                              0x000000010289dca6 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*, ut::detail::allocator_base_pfs<char const*> > >&) + 6664
    9   mysqld                              0x0000000102891fb2 dict_table_t* dd_open_table<dd::Table>(dd::cache::Dictionary_client*, TABLE const*, char const*, dd::Table const*, THD*) + 57
    10  mysqld                              0x0000000102891df0 dd_table_open_on_dd_obj(THD*, dd::cache::Dictionary_client*, dd::Table const&, dd::Partition const*, char const*, dict_table_t*&, TABLE const*) + 1393
    11  mysqld                              0x0000000102892bc2 dd_table_open_on_id_low(THD*, MDL_ticket**, unsigned long long) + 1246
    12  mysqld                              0x0000000102892179 dd_table_open_on_id(unsigned long long, THD*, MDL_ticket**, bool, bool) + 385
    13  mysqld                              0x00000001029dba67 MetadataRecover::apply() + 69
    14  mysqld                              0x0000000102a7248d srv_dict_recover_on_restart() + 183
    15  mysqld                              0x000000010295c8be innobase_dict_recover(dict_recovery_mode_t, unsigned int) + 2005
    16  mysqld                              0x0000000102699814 dd::bootstrap::restart(THD*) + 240
    17  mysqld                              0x00000001027cade8 dd::upgrade_57::restart_dictionary(THD*) + 76
    18  mysqld                              0x00000001027c9697 dd::upgrade_57::do_pre_checks_and_initialize_dd(THD*) + 1334
    19  mysqld                              0x0000000101ad3b21 bootstrap::handle_bootstrap(void*) + 225
    20  mysqld                              0x0000000102b14daf pfs_spawn_thread(void*) + 335
    21  libsystem_pthread.dylib             0x00007fff204498fc _pthread_start + 224
    22  libsystem_pthread.dylib             0x00007fff20445443 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
    
[/code]

と表示されました。  
最近、Macを起動したら、問題が発生のような文章が出てきていたので、その影響でInnoDBが破損しているのかと思い、バックアップをとって、修復しようと思いましたが、`zsh:
permission denied: backup.dump`と表示され、できませんでした。  
DBの内容は残しておきたいので、バックアップして修復する方法もしくはDBのデータを消さずに修復する方法を教えていただきたいです。

MacBookPro-Intel-BigSur  
MySQL-Ver 8.0.28 for macos11.6 on x86_64 (Homebrew)

よろしくお願いします。


CC BY-SA 4.0
2022-06-22T10:45:57.577
89524
2023-11-22T07:05:07.527
53187
question
mysql
MySQLがクラッシュした


エラーメッセージにある通り、マニュアルに手順一式が書いてあります。  
参照されていますか？

以下はMySQLのサイトになりますが、日本語での記述があります。  
内容と少し違いますが、ヒントになれば。

[MySQL :: MySQL 8.0 リファレンスマニュアル :: 15.22 InnoDB
の制限](https://dev.mysql.com/doc/refman/8.0/ja/innodb-limits.html)


CC BY-SA 4.0
2022-06-22T14:53:40.603
89528
2023-11-22T07:05:07.527
2023-11-22T07:05:07.527
3060
10174
89524
answer