LoginSignup
13
13

More than 5 years have passed since last update.

MySQLの再インストールができなくなった Ubuntu16.04

Last updated at Posted at 2017-12-21

前置き

この記事は、sudoコマンドを多く使います。
自分は新しく構築した環境下で行ったため、データが消える心配はありませんでしたが、以下のコマンドを試すことで、データが消えてしまったり、壊れてしまう可能性があります。
実行は自己責任でお願いいたします。
至らない点がありましたら、教えていただけたらと思います。

問題

環境:ubuntu16.04
mySQL5.7を使用しようとしたところ、

$ mysql -u root

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

というエラーが、、、。

アンインストールする前に実行したこと

よくあるエラーみたいなので、
https://www.youtube.com/watch?v=oXjJRrbKjp0

https://qiita.com/donaldchi/items/afeabaffc8be39577ef0
をみて、解決を試みました。

$ sudo mkdir /var/run/mysqld
$ sudo touch /var/run/mysqld/mysqld.sock
$ sudo chown mysql:mysql /var/run/mysqld/
$ sudo /etc/init.d/mysql restart
[....] Restarting mysql (via systemctl): mysql.serviceJob for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
failed!

、、、。
ほかにもいろいろ試したのですが、うまく行かないので、いっそのことアンインストールしてしまうことにしました。

アンインストール編

$ sudo apt-get remove --purge mysql-server* 
$ mysql-common 
$ sudo apt-get autoremove --purge 
$ sudo rm -r /etc/mysql
$ sudo rm -r /var/lib/mysql

参考:https://a-zumi.net/ubuntu-mysql-server-purge/
こちらのコマンドでアンストールをしました。

再インストール編

再インストールの基本的な手順は以下のとおりです。

$ sudo apt-get update
$ sudo apt-get install mysql-server
$ mysql_secure_installation

参考:https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-16-04

これでうまく行くかとおもいきや、、。

$ sudo apt-get install mysql-server

こちらのコマンドを試したところ、、。

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
 mysql-server : 依存: mysql-server-5.7 しかし、インストールされようとしていません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。

依存関係のエラーが、、。

依存関係のエラー解決編

apt-getではこれ以上対応ができなさそうなので、aptitudeを使います。
aptitudeを導入し、パッケージをアップデートするのに、実行したコマンドは以下の通りです。

$ sudo apt-get install aptitude
$ sudo aptitude update
$ sudo aptitude safe-upgrade

これを行った後、mysql-serverをインストールします。

$ sudo aptitude install mysql-server

そうすると、「以下のアクションでこれらの依存関係の問題は解決されます:」
と、解決方法を提示してくれるので、ひたすらyを押していきます。
あとは、mysqlのパスワードを設定していけば無事、
mysql -u root -p
でmysqlに入れるようになります。

参考:https://server-setting.info/debian/apt-get-upgrade-error-loop.html

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13