本ページではCentOS8にMySQLインストールする手順についてまとめていきます。
#前提条件
ゲストOS:CentOS8
MySQL8.1をインストールしてきます。
#手順
###MySQLダウンロード
以下の公式サイトからダウンロードしたいバージョンを確認します。
https://dev.mysql.com/downloads/repo/yum/
*http://dev.mysql.com/get/*以降に**該当バージョン**の上記サイトの赤枠の部分を入力してインストールします。
mysql__の番号がMySQLのバージョン、
el_-_の番号がLinuxのバージョンのようです。
sudo yum install http://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
###MySQLServerインストール
sudo yum -y install mysql-server
mysql-community-serverは一致するものがありませんでした。上記のもので良さそうです。
名称が変わっているようでした。
参照:第10回 yum, rpmインストールにおけるMySQL 5.6とMySQL 5.7の違いhttps://gihyo.jp/dev/serial/01/mysql-road-construction-news/0010
以下で確認できました。
mysqld --version
###起動
systemctl enable mysqld //サービス有効化
systemctl start mysqld
###初回設定
mysqld --initialize-insecure
mysql_secure_installation
いろいろ質問されるので答えていきます。
・PASSWORDのセットアップ→y
・パスワードのセキュリティ強度→環境にあった数字を入力
LOW 0,MEDIUM 1,STRONG 2
・新しいパスワードの入力(2回)、パスワードの強度が表示される
・匿名ユーザーを削除するか?→y(不要なので)
・rootユーザーでリモートログインを許可しないか→許可しないのでy
・テストDBと接続が不要,削除するか→y
・上記設定を上書きするか→y
###他のユーザー作成
rootユーザーでログインする
mysql -u root -p
使用したいユーザー名と(ホスト名,)パスワードでユーザーを作成します
mysql> CREATE USER ユーザー名@localhost IDENTIFIED BY 'パスワード';
変更反映
mysql> flush privileges;
上記create userも小文字でも大丈夫です。
#FAQトラブルシューティング
###MySQLの設定を他のサイトを参考にしてもできない
MySQL8は他のバージョンとは違うようです。
上記のように設定する必要があるようでした。
従来は以下のようにパスワード設定ファイルで確認などが必要だったようです。
sudo cat /var/log/mysql/mysqld.log | grep root
私の場合は上記の場所にありました。log配下にある場合もあるようです。
findコマンドで探してみるのも良さそうです。
sudo find -name mysqld.log
###パスワード設定がうまくいかない
####rootパスワード設定は上記の質問の中で設定できたが、他のユーザーの設定がうまくいかない
質問の中でセキュリティレベルの低いパスワード設定にしても、他のユーザーのパスワードには適用されないようでした。
8文字以上かつ英大文字・小文字・数字・記号を含める必要があるようです。