CentOS 7 に MySQL 5.7 をインストールする

CentOS 7 上で MySQL 5.7 をインストールして使える状態にするまでの手順を説明します。

yum にリポジトリを追加する

MySQL をインストールするには yum に外部のリポジトリを登録する必要があります。

sudo yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm -y

コマンドを実行してリポジトリの登録が完了したら、実際に MySQL のパッケージを検索して登録に成功していることを確認します。

sudo yum search mysql

mysql-community-server が検索結果に出てくればリポジトリの追加は成功しています。

インストールする

リポジトリの登録が完了したら、通常のパッケージと同じようにインストールすることができます。

sudo yum install mysql-community-server -y

インストールが完了したら、MySQL のバージョンを表示させてインストールが成功していることを確認します。

sudo mysqld --version

バージョン情報が正しく表示されればインストールは完了です。

MySQL の起動

インストール直後は MySQL Server が起動していないため、起動させます。

sudo systemctl start mysqld.service

root ユーザーのパスワードの確認

MySQL の root ユーザーのパスワードは初回起動時に自動生成されます。自動生成されたパスワードは /var/log/mysqld.log ファイルに記載されているため、以下のコマンドを実行してパスワードを確認します。

sudo grep 'temporary password' /var/log/mysqld.log

検索の結果出てきた行にパスワードが記述されているため確認します。

2020-01-16T06:23:28.165738Z 1 [Note] A temporary password is generated for root@localhost: XXXXXXXXXXXX

この例の場合最後の XXXXXXXXXXXX の部分にパスワードが表示されます。

MySQL へのアクセス

調べた初期パスワードを利用して MySQL にアクセスします。

sudo mysql -uroot -p

パスワードを確認されるため、先ほど調べたパスワードを入力します。

パスワードの変更

自動生成されたパスワードを変更します。自動生成されたパスワードのままでは SQL コマンドを実行できないようになっているためこの操作は必須になります。 MySQL 上で以下の様な SQL 文を実行してパスワードを変更します。この例では new password の部分に新しいパスワードを設定します。

alter user root@localhost identified by 'new password';

MySQL に設定されているどの程度の強度のパスワードを認めるかの設定次第ではパスワード変更に失敗する場合があります。

参考資料