問題
アプリを本番環境にデプロイする過程の中で、「MySQLを起動→データベース作成→マイグレーション」のうちの「MySQLを起動」でつまずいた。
なぜかMySQLが起動できない。
MySQLを起動したい。
エラー
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'(2)
解決手順
① MySQLサーバーを削除
yum remove mysql-server mysql-devel
② MySQLサーバーを問題なくインストールするための下準備
$ sudo yum remove mariadb-libs
$ sudo yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
$ sudo yum -y install mysql-community-server
これをせずに
$ sudo yum -y install mysql-server
MySQLサーバーをインストールしようとすると、「パッケージ mysql-server は利用できません。」と言われてしまいます。
「デフォルトで入ってるmariaDBと競合してしまうから」という理由なので、MySQLサーバーをインストールする前にmariaDBをremoveしておく必要があるようです。
冒頭の「MySQLを起動できない」原因はおそらくこの手順を踏んでおらず、MySQLをインストールしたつもりが「MySQLサーバーが利用不可になったまま」になっていたのだと思います。
③ MySQLサーバーをインストール
sudo yum -y install mysql-server
これでMySQLを無事インストールして起動できるようになりました。
④ MySQLを起動
本番環境の自分のアプリケーションのディレクトリで
$ sudo service mysqld start