mysql コミュニティ サーバー (5.7) の起動に失敗しました

mysql コミュニティ サーバー (5.7) の起動に失敗しました

最近、ディレクトリを再インストールした後に新しいエラーが表示され始めました/etc/mysql。ディレクトリは、プロセスを使用して再インストールした後、正しく表示されます。ここ、私は「削除されたディレクトリを回復する」方法を使用しました。現在、MySQL サーバー自体の起動に問題があり、ファイルを失うのが怖いので、データベースをアンインストールまたは再インストールしたくありません。安全な方法でこれを解決するために必要なすべての詳細を提供します。

エラーの詳細:

Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
invoke-rc.d: initscript mysql, action "start" failed.
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Sat 2019-12-21 16:59:38 EST; 5ms ago
  Process: 3942 ExecStartPost=/usr/share/mysql/mysql-systemd-start post (code=exited, status=0/SUCCESS)
  Process: 3941 ExecStart=/usr/sbin/mysqld (code=exited, status=2)
  Process: 3933 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 3941 (code=exited, status=2)

Dec 21 16:59:38 ns529730 systemd[1]: Failed to start MySQL Community Server.
Dec 21 16:59:38 ns529730 systemd[1]: mysql.service: Unit entered failed state.
Dec 21 16:59:38 ns529730 systemd[1]: mysql.service: Failed with result 'exit-code'.
dpkg: error processing package mysql-server-5.7 (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 mysql-server-5.7
E: Sub-process /usr/bin/dpkg returned an error code (1)

systemctl status コマンドの表示:

root@ns529730:~# systemctl status mysql.service
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: activating (start-post) (Result: exit-code) since Sat 2019-12-21 17:10:40 EST; 14s ago
  Process: 6727 ExecStart=/usr/sbin/mysqld (code=exited, status=2)
  Process: 6720 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 6727 (code=exited, status=2);         : 6728 (mysql-systemd-s)
   Memory: 15.0M
      CPU: 327ms
   CGroup: /system.slice/mysql.service
           └─control
             ├─6728 /bin/bash /usr/share/mysql/mysql-systemd-start post
             └─6784 mysqladmin ping

Dec 21 17:10:40 ns529730 systemd[1]: Starting MySQL Community Server...
Dec 21 17:10:41 ns529730 systemd[1]: mysql.service: Main process exited, code=exited, status=2/INVALIDARGUMENT

システム: Ubuntu 16.04 MySQL バージョン: 5.7

答え1

innodb_force_recovery = 1わかりました。ファイルの[mysqld]の下に追加することで修正しましたmysqld.cnf。最初はうまくいかないかもしれないので、1から10までの数字を試すことができます。また、古いバージョンのmysqlを使用している場合は、メインの設定ファイルでこれを行う必要があります。古いバージョンには設定ファイルがありますがetc/mysql/my.cnf、5.7のmysqlバージョンには設定ファイルがあります。etc/mysql/mysql.conf.d/mysqld.cnf 回答はここ編集が終わったら、次のコマンドでmysqlサーバーを起動してみてください。sudo systemctl start mysql

関連情報