CentOS 7 MySQL8.0 インストールと設定方法(CentOS 7.5)
CentOS 7にMySQL8.0をインストールします。
MySQLインストール
yumリポジトリの追加
CentOS 7にyumリポジトリを追加します。
ルートにログインし、yumリポジトリが格納されているディレクトリへ移動します。
# cd /etc/yum.repos.d |
現在のリポジトリを確認します。
# ll 合計 72 -rw-r–r–. 1 root root 1664 5月 17 22:53 CentOS-Base.repo -rw-r–r–. 1 root root 1309 5月 17 22:53 CentOS-CR.repo -rw-r–r–. 1 root root 649 5月 17 22:53 CentOS-Debuginfo.repo -rw-r–r–. 1 root root 630 5月 17 22:53 CentOS-Media.repo -rw-r–r–. 1 root root 1331 5月 17 22:53 CentOS-Sources.repo -rw-r–r–. 1 root root 4768 5月 17 22:53 CentOS-Vault.repo -rw-r–r–. 1 root root 314 5月 17 22:53 CentOS-fasttrack.repo -rw-r–r– 1 root root 0 10月 3 2017 epel-testing.repo -rw-r–r– 1 root root 0 10月 3 2017 epel.repo -rw-r–r– 1 root root 446 6月 19 17:28 remi-glpi91.repo -rw-r–r– 1 root root 446 6月 19 17:28 remi-glpi92.repo -rw-r–r– 1 root root 446 6月 19 17:28 remi-glpi93.repo -rw-r–r– 1 root root 456 6月 19 17:28 remi-php54.repo -rw-r–r– 1 root root 1314 6月 19 17:28 remi-php70.repo -rw-r–r– 1 root root 1314 6月 19 17:28 remi-php71.repo -rw-r–r– 1 root root 1314 6月 19 17:28 remi-php72.repo -rw-r–r– 1 root root 1314 6月 19 17:28 remi-php73.repo -rw-r–r– 1 root root 750 6月 19 17:28 remi-safe.repo -rw-r–r– 1 root root 2605 6月 19 17:28 remi.repo |
MySQLの公式サイトから MySQL8.0のCentOS 7用yumリポジトリのダウンロードします。
# rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm |
※yumリポジトリのダウンロードURLは、MySQL公式サイトより最新情報を取得して下さい。
- MySQL公式サイトにアクセス
- ページ下部に、OS毎のyumリポジトリの一覧があるので、「Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package」のDownloadボタンをクリック
- 「No thanks, just start my download.」のリンク上で、右クリックして「リンクのアドレスをコピー(E)」を選択
リポジトリが追加されたかを再度確認します。
# ll 合計 80 -rw-r–r–. 1 root root 1664 5月 17 22:53 CentOS-Base.repo -rw-r–r–. 1 root root 1309 5月 17 22:53 CentOS-CR.repo -rw-r–r–. 1 root root 649 5月 17 22:53 CentOS-Debuginfo.repo -rw-r–r–. 1 root root 630 5月 17 22:53 CentOS-Media.repo -rw-r–r–. 1 root root 1331 5月 17 22:53 CentOS-Sources.repo -rw-r–r–. 1 root root 4768 5月 17 22:53 CentOS-Vault.repo -rw-r–r–. 1 root root 314 5月 17 22:53 CentOS-fasttrack.repo -rw-r–r– 1 root root 0 10月 3 2017 epel-testing.repo -rw-r–r– 1 root root 0 10月 3 2017 epel.repo -rw-r–r– 1 root root 1036 10月 16 2015 mysql-community-source.repo -rw-r–r– 1 root root 1033 10月 16 2015 mysql-community.repo -rw-r–r– 1 root root 446 6月 19 17:28 remi-glpi91.repo -rw-r–r– 1 root root 446 6月 19 17:28 remi-glpi92.repo -rw-r–r– 1 root root 446 6月 19 17:28 remi-glpi93.repo -rw-r–r– 1 root root 456 6月 19 17:28 remi-php54.repo -rw-r–r– 1 root root 1314 6月 19 17:28 remi-php70.repo -rw-r–r– 1 root root 1314 6月 19 17:28 remi-php71.repo -rw-r–r– 1 root root 1314 6月 19 17:28 remi-php72.repo -rw-r–r– 1 root root 1314 6月 19 17:28 remi-php73.repo -rw-r–r– 1 root root 750 6月 19 17:28 remi-safe.repo -rw-r–r– 1 root root 2605 6月 19 17:28 remi.repo |
「mysql-」で始まるファイルが2つ追加されているのが確認できればリポジトリの追加はOKです。
MySQLのインストール
MySQLをインストールします。
# yum install mysql-community-server |
MySQLのバージョンを確認
MySQLのバージョンを確認します。
# mysql –version mysql Ver 8.0.11 for Linux on x86_64 (MySQL Community Server – GPL) |
MySQL8.0がインストールされているのが確認出来ました。
インストールしたパッケージが指定したバージョンであるかを確認します。
# rpm -qa | grep mysql mysql-community-common-8.0.11-1.el7.x86_64 php-mysqlnd-7.1.19-1.el7.remi.x86_64 mysql-community-libs-8.0.11-1.el7.x86_64 mysql-community-libs-compat-8.0.11-1.el7.x86_64 mysql-community-server-8.0.11-1.el7.x86_64 mysql80-community-release-el7-7.noarch mysql-community-client-8.0.11-1.el7.x86_64 |
MySQL8.0のインストールが完了しました。
MySQLの起動
MySQLを起動します。
# systemctl start mysqld |
起動確認します。
# systemctl status mysqld ● mysqld.service – MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since 水 2018-06-27 13:24:35 JST; 8h ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Main PID: 1712 (mysqld) Tasks: 27 CGroup: /system.slice/mysqld.service └─1712 /usr/sbin/mysqld –daemonize –pid-file=/var/run/mysqld/mysqld.pid6月 27 13:24:08 localhost.localdomain systemd[1]: Starting MySQL Server… 6月 27 13:24:35 localhost.localdomain systemd[1]: Started MySQL Server. |
MySQLの自動起動設定
MySQLの自動起動の設定をします。
# systemctl enable mysqld |
自動起動設定の確認します。
# systemctl is-enabled mysqld enabled |
「enabled」になっていれば、設定は完了です。
MySQLの初期設定
インストール直後は、ランダムな root パスワードが設定されています。
パスワードはログで確認できるので次のコマンドでlogを見てみます。
# grep 'temporary password’ /var/log/mysqld.log 2018-06-20T10:54:28.112789Z 1 [Note] A temporary password is generated for root@localhost: lfseasjg)3Xgx |
root@localhost: の後に表示されているのが、設定されているrootパスワードになります。
次に、rootパスワードを変更するのですが、MySQLのパスワードにはパスワードポリシーというものがありパスワードの文字数、大文字小文字などルールが決められています。
デフォルトでは、英数字、大文字、記号(英数字以外)を含む8文字以上のパスワードとなっています。
パスワードポリシーは後ほど変更可能です。
MySQLの root パスワードの設定とその他の初期処理を行います。
# mysql_secure_installation |
1. rootのパスワード -> logで表示されたパスワードを入力してENTER
2. rootのパスワード入力(2回)(英数字、大文字、記号(英数字以外)含む8文字以上のパスワード)
3. VALIDATE PASSWORD プラグインというプラグインを導入するか -> yと入力してEnter
(パスワードとして設定できる文字列に一定の制限をかけることができ、パスワードポリシーは3段階のレベルから設定できます。)
※VALIDATE PASSWORD プラグインは新しく導入されたプラグインで、パスワードポリシーを強化するものです。これまでの設定方法ではうまく設定 できないこともあるので、mysqlについてあまり詳しくない方は導入しなくてもいいかもしれません。
4.「LOW」= 0,「MEDIUM」= 1,「STRONG」= 2 から選択 -> 0,1,2のどれかを入力してEnter
5. パスワードを変更するか -> yと入力してEnter
6. rootのパスワード入力(2回) (パスワードポリシーに沿ったパスワード)
7. このパスワードで確定して次に進んでいいか -> yと入力してEnter
8. 匿名ユーザを削除するか -> y と入力してEnter
9. リモートからのrootログインを禁止するか -> y と入力してEnter
10. テスト用の’test’データベースを削除するか -> y と入力してEnter
11. 設定をリロードして反映するか -> Y と入力してEnter
MySQLにログイン
MySQLにログインします。
パスワードを入力してログインします。
# mysql -u root -p |
以下のようになれば、ログイン成功です。
mysql> |
ここからは、パスワードポリシーを変更したい場合の設定です。
(パスワードポリシー変更次第ではセキュリティが弱くなることがあるので変更は自己責任でお願いします。)
パスワードポリシーの変更
パスワードポリシーを変更します。
MySQLにログインします。
現在のパスワードポリシーを確認します。
mysql> show variables like 'validate_password%’; |
VALIDATE PASSWORD プラグインを導入すると以下のような画面になります。
扱いが難しくなるので、VALIDATE PASSWORD プラグインを削除します。
mysql> uninstall plugin validate_password; |
再度、パスワードポリシーを確認します。
mysql> show variables like 'validate_password%’; |
現状は以下のように設定されています。
- パスワードの文字数 8以上
- 大文字小文字 各1文字ずつ含む
- 数字 1文字含む
- パスワードポリシー MIDIUM
- 特殊文字 1文字含む
「validate_password_policy」に関しての詳細は以下のようになっています。
- LOW 長さ
- MIDIUM 長さ; 数字、小文字/大文字、および特殊文字
- STRONG 長さ; 数字、小文字/大文字、および特殊文字。辞書ファイル
今回は、パスワードポリシーを「LOW」、文字数を「5文字」に設定します。
mysql> set global validate_password_policy=LOW; Query OK, 0 rows affected (0.00 sec) |
mysql> set global validate_password_length=5; Query OK, 0 rows affected (0.00 sec) |
再度、パスワードポリシーを確認します。
mysql> show variables like 'validate_password%’; |
※パスワードポリシーが「LOW」なのでパスワードの長さ(password_length)だけが有効になります。
設定変更が確認出来たら完了です。
パスワード再設定
パスワードを再設定します。
mysql> set password = '任意のパスワード’; mysql> set password = 'abcde’; |
パスワードが「abcde」に変更されました。
以上で、MySQL8.0のインストールと設定は完了です。