私は最近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)
私はこれにほとんど「類似した」問題をチェックしました here 、 here および 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びしますが、回答があれば感謝します。
Mysqlの起動中にログを確認します。
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を更新しました
私にとって、MySQLは14.04から15.04にアップグレードした後、systemdからUpstartに切り替えた後に壊れました。
興味深いことに、mysqlを手動で起動できましたが、/ etc/init.d /を介して(つまり、Sudo service mysql start
で)起動できませんでした。 Ubuntu Upstartスクリプトを読んだ後、Ubuntuはapparmor
がUpstartからMySQLを実行するために存在することを期待していることが明らかになりました。
したがって、私のために働いた解決策:
Sudo aptitude install apparmor
そして、それが必要なすべてでした。
私は同様のエラーを受け取っていましたが、インターネットで見たものは何も役に立ちませんでした。問題は愚かなものであることが判明しました。以前にmysqlのデフォルトのデータディレクトリをセカンダリハードディスクに変更しました。このディスクはマウントされていなかったため、エラーが発生していました。
このようなアクセスの問題がエラーの原因であるかどうかを確認するには、mysql構成ファイルでmysqlの現在のデータディレクトリを見つけます。
less /etc/mysql/mysql.conf.d/mysqld.cnf
場合によっては、ターゲット構成ファイルへのパスがわずかに異なる可能性があります。
less /etc/mysql/my.cnf
datadir
のエントリを探し、パスをコピーします。 cd
コマンドでそのディレクトリにアクセスできるかどうかを確認します。
あなたはすでにこれを理解しているかもしれませんが、うまくいけば、同じ問題にぶつかる他の誰かを助けるかもしれません。
14.10-15.04のアップグレードは、プロセスがmysqldを開始しようとしたところに留まり、ルート管理者パスワードに関する不明瞭なメッセージが表示されました。私はmysqldプロセスが何を実行しているかを調べてみましたが、そのプロセスIDは、アップグレードプロセスが新しいmysqldを開始すると言っていたものとは完全に異なることがわかりました。だから、「Sudo /etc/init.d/mysql stop」が役立つと思った。そして、アップグレードプロセスが完了するまでずっと拡大しているのを見てください。
(エラー。間違った投稿です。別のスレッドで投稿します。ごめんなさい)
幸運を。