mac os Mojaveでbrewにインストールされているmysqlがアップグレードされたため起動できない問題の解決


手が足りないと思いますが、うっかりしてmysql 5.7は8.0.15にアップして、バージョンが高くて見ていて気持ちがいいですね.結局mysql起きられなくなりました..
そこでいろいろな方法を考えました.
  • 方法1:バージョンを戻します.結果として起動することはできません.高バージョンのファイルを使用したということです.すべてのデータを削除して再ロードする必要があります.これは絶対に受け入れられません.
  • 方法2:エラーログを見て問題を1つ解決します.結局午後中かかったが、まだ終わっていない.まで...このエラーが見つかりました.
    [ERROR] [MY-013129] [Server] A message intended for a client cannot be sent there as no client-session is attached. Therefore, we're sending the information to the error-log instead: MY-001146 - Table 'mysql.component' doesn't exist

    Googleで「[ERROR][MY-03129][Server]」を検索すると、同じ問題に遭遇した人がいました.
    https://bugs.mysql.com/bug.php?id=89267
    1. stop 5.7.21
    2. swap binaries for 8.0.4
    3. start mysql with skip-networking and skip-grant-tables etc.
    4. sudo mysql_upgrade --no-defaults $(sudo my_print_defaults client | egrep '^--socket' | head -1)
    5. restart mysql

    ひょうたんをそのまま描く:
    1.brew services stop mysql
    2.mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
    3.sudo mysql_upgrade --no-defaults $(sudo my_print_defaults client | egrep '^--socket' | head -1)
    4.brew services start mysql

    問題解決