web-dev-qa-db-ja.com

Ubuntu 16.04へのmySqlのインストールエラー

このページ の指示に従って、Ubuntu 16.04にmysqlをインストールしました。

「MySQL Install and Configure」というタイトルのセクションの半分下にあり、コマンドSudo apt-get install mysql-serverを実行します。私はエラーを見つけましたが、ここに私の端末でのそのエラーの出力があります:

Preconfiguring packages ...
Selecting previously unselected package mysql-common.
(Reading database ... 41515 files and directories currently installed.)
Preparing to unpack .../mysql-common_5.7.12-0ubuntu1_all.deb ...
Unpacking mysql-common (5.7.12-0ubuntu1) ...
Selecting previously unselected package mysql-client-5.7.
Preparing to unpack .../mysql-client-5.7_5.7.12-0ubuntu1_AMD64.deb ...
Unpacking mysql-client-5.7 (5.7.12-0ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up mysql-common (5.7.12-0ubuntu1) ...
update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Selecting previously unselected package mysql-server-5.7.
(Reading database ... 41563 files and directories currently installed.)
Preparing to unpack .../mysql-server-5.7_5.7.12-0ubuntu1_AMD64.deb ...
Unpacking mysql-server-5.7 (5.7.12-0ubuntu1) ...
Selecting previously unselected package mysql-server.
Preparing to unpack .../mysql-server_5.7.12-0ubuntu1_all.deb ...
Unpacking mysql-server (5.7.12-0ubuntu1) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu4) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up mysql-client-5.7 (5.7.12-0ubuntu1) ...
Setting up mysql-server-5.7 (5.7.12-0ubuntu1) ...
update-alternatives: using /etc/mysql/mysql.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode
mysql_upgrade: Got error: 1045: Access denied for user 'debian-sys-maint'@'localhost' (using password: YES) while connecting to the MySQL server
Upgrade process encountered error and will not continue.
mysql_upgrade failed with exit status 11
dpkg: error processing package mysql-server-5.7 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu4) ...
Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

サーバーのセットアップとmysqlのインストールは初めてです。これがエラーの原因である可能性があるかどうかはわかりませんが、以前にmysqlをインストールしようとしましたが、LAMPプロセスに従っていませんでした(私はこれを理解しているnewbです)が失敗し、アンインストールする必要がありました。

15
Darren Haynes

Mysqlを完全に削除して再インストールすることが、最終的に解決策となりました。アンインストールと再インストールに失敗したことがありましたが(この質問をするようになりました)。このページでアドバイスを見つけた後、より徹底的なアンインストールを試みました。 MySQLを完全にアンインストール

そこでのアンインストールの指示に従って再インストールすると、問題が解決しました。

5
Darren Haynes

この回答は 16.04アップグレードによりmysql-serverが破損しました に対する回答でもありますが、管理者が10レピュテーションにロックしているため回答できません。

APTのエラーは、Ubuntuを16.04(xenial)に、Mysqlを5.5から5.7にアップグレードするときに発生します。いくつかのパッケージングの問題により、Mysql-server-5.7のポストインストールスクリプトが完了しないため、APTアップグレードはlimboで終了します。

問題を解決するには、次の手順を試してください。

  1. apt purge mysql-serverおよびapt autoremoveは、古いMYSQLのすべてのトレースを消去します。データベースデータは破棄されません。
  2. /etc/mysqlディレクトリからすべてを削除します。
  3. 古いMysqlパッケージがインストールされていないことを確認します:dpkg -l | grep mysql
  4. apt install mysql-serverインストールする

これらの手順が同じ不完全なインストールで終了する場合は、次の手順を試してください。

  1. Tail -n 20 /var/log/mysql/error.log
  2. エラーはaである可能性があります。 debian-sys-maintの不正なパスワードb。 Innodb用のメモリなし

解決策2a:Mysqlシステムテーブルを5.5から5.7にアップグレードする必要があります

My.cnfを編集して、「[mysqld]」の下に「skip-grant-tables」、service mysql start、およびmysql_upgrade --force -u root -pの行を含めます。

解決2b:Mysql Innodbプールのメモリが不足しています(マイクロサイズのサーバーを使用していますか?)

My.cnfを編集して、「[mysqld]」の下に行innodb_buffer_pool_size = 20Mを含めます

デフォルトのinnodbプールは128Mで、512M VMではタイトです

APTエラーをクリアするには、ポストインストールを再度実行してください

dpkg --configure -a
17
Kaceo

別の良い解決策:

Sudo apt-get purge mysql* && Sudo apt-get install mysql-server
5
Pat McSherry

これは私のために働いた:

Sudo apt-get remove --purge mysql*

このコマンドは、あなたがデータベースを削除 from /var/lib/mysqlかどうかを尋ね、またmysqlの他のすべてのインスタンスを削除します!

バックアップを作成する最初にデータベースを作成してください!

この後、コマンドを発行してデータベースをインストールできます:

Sudo apt-get install mysql-server
3

すべてのパッケージとファイルを削除してから、「mysql-server」を再インストールしてください

Sudo apt-get remove --purge mysql-\*
Sudo rm -rf /var/lib/mysql

Sudo apt-get install mysql-server 
1
Spl2nky

まず、mysql-serverのすべてのパッケージを削除しました。

Sudo rm -rf /var/lib/mysql

次にインストールします:

Sudo apt-get install lamp-server^

または、次のことができます。

Sudo apt-get install mysql-server
1
Tarunkant Gupta