web-dev-qa-db-ja.com

Ubuntu 14.04LTSからUbuntu 15.04へのアップグレード後にMySQLが破損する

私は最近Ubuntu 14.04LTSから15.04にアップグレードしましたが、このアップグレード中にMySQLが壊れた可能性があります。アップグレード後、コマンドを実行しました(mysqlを開始するため):

Sudo service mysql start

結果はコマンドが見つからなかったため、mysql-serverおよびmysql-commonパッケージをインストールすることを提案しました。つまり、アップグレード中に削除されたことを意味します。私は再びパッケージをインストールすることにしました:

Sudo apt-get install mysql-server

ここで問題やエラーが発生しました。上記のコマンドを実行すると、端末に表示されます(その一部):

Setting up mysql-server-5.6 (5.6.24-0ubuntu2) ...
Job for mysql.service failed. See "systemctl status mysql.service" and "journalctl -xe" for details.
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mysql-server-5.6 (--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.6; however: 
  Package mysql-server-5.6 is not configured yet.
  Package mysql-community-server which provides mysql-server-5.6 is not installed.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
 mysql-server-5.6
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

私はこれにほとんど「類似した」問題をチェックしました herehere および here しかし、何も助けていないようで、これは古いアップグレードからです。また、Ubuntu Software Centerからサーバー、クライアント、ワークベンチをインストールしてみることにしました。インストール中にエラーが発生しましたが、ワークベンチからサーバーが実行されていることが示されたため、インストールされたようです。また、。/ optフォルダーにLAMPPスタックがあるので、ここで競合が発生する可能性があります。もう1つの問題は、端末またはワークベンチからでもサーバーを制御できないことです。私が端末からMySQLにアクセスしようとすると:

mycomp:~$ mysql -u user -p

私は結果を得ます:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/lampp/var/mysql/mysql.sock' (2)

Ubuntu 15.04は数日前にリリースされたため、他の場所でのソリューションは簡単に入手できません。この投稿がMySQLフォーラムにあることになっている場合は、この間違いをおaびしますが、回答があれば感謝します。

6
KipchirchirIan

Mysqlの起動中にログを確認します。

  • 1つの端末で:tail -f /var/log/mysql/error.log
  • 別の例では、Sudo service mysql start(最初にSudo service mysql stopでサービスを停止する必要がある場合があります)。
  • エラーがある場合は、修正する必要があります。

私の場合、次のエラーが発生しました。

[エラー] mysqld:不明な変数 'table_cache = 256'
[エラー]中止しています

Mysqlの問題のため: table_cacheはtable_open_cacheの名前を変更しました サーバーが起動しませんでした。

設定(/etc/mysql/conf.d/my_custom.cnf)でこの変数の名前を変更すると、問題が修正され、mysqlが使用されたままになりました。

最後に、Sudo mysql_upgrade -u root -pを呼び出してmysqlを更新しました

4
LarS

私にとって、MySQLは14.04から15.04にアップグレードした後、systemdからUpstartに切り替えた後に壊れました。

興味深いことに、mysqlを手動で起動できましたが、/ etc/init.d /を介して(つまり、Sudo service mysql startで)起動できませんでした。 Ubuntu Upstartスクリプトを読んだ後、UbuntuはapparmorがUpstartからMySQLを実行するために存在することを期待していることが明らかになりました。

したがって、私のために働いた解決策:

  1. Sudo aptitude install apparmor

そして、それが必要なすべてでした。

0
carbocation

私は同様のエラーを受け取っていましたが、インターネットで見たものは何も役に立ちませんでした。問題は愚かなものであることが判明しました。以前にmysqlのデフォルトのデータディレクトリをセカンダリハードディスクに変更しました。このディスクはマウントされていなかったため、エラーが発生していました。

このようなアクセスの問題がエラーの原因であるかどうかを確認するには、mysql構成ファイルでmysqlの現在のデータディレクトリを見つけます。

less /etc/mysql/mysql.conf.d/mysqld.cnf

場合によっては、ターゲット構成ファイルへのパスがわずかに異なる可能性があります。

less /etc/mysql/my.cnf

datadirのエントリを探し、パスをコピーします。 cdコマンドでそのディレクトリにアクセスできるかどうかを確認します。

0
user277194

あなたはすでにこれを理解しているかもしれませんが、うまくいけば、同じ問題にぶつかる他の誰かを助けるかもしれません。

14.10-15.04のアップグレードは、プロセスがmysqldを開始しようとしたところに留まり、ルート管理者パスワードに関する不明瞭なメッセージが表示されました。私はmysqldプロセスが何を実行しているかを調べてみましたが、そのプロセスIDは、アップグレードプロセスが新しいmysqldを開始すると言っていたものとは完全に異なることがわかりました。だから、「Sudo /etc/init.d/mysql stop」が役立つと思った。そして、アップグレードプロセスが完了するまでずっと拡大しているのを見てください。

(エラー。間違った投稿です。別のスレッドで投稿します。ごめんなさい)

幸運を。

0
Nghi Nguyen