仕事でMySQL5.7をインストールする機会があったので、手順を忘れないようにまとめておきます。
ご存じの方にとっては何の得にもならないと思いますが、まあ誰かのお役に立てるかもしれないので。
1.MySQL公式サイトから、リポジトリのパッケージをダウンロード&インストール
まず、MySQL Repositorie からターゲットとなるOSごとのダウンロードページに移動します。ここではターゲットをCentOS7と仮定して、「MySQL Yum repository」のダウンロードを選択します。
ダウンロードページに移動したら、ターゲットOSに該当する「Download」ボタンをクリック。ページが移動すると「Login」とか「Sign Up」とかいうボタンがでかでかとありますが、それは無視してページ左下の「No thanks, just start my download.」のリンクのURLをコピーします。でもって、MySQLをインストールしたいサーバに入って、wget とかでパッケージをダウンロードしましょう。
ダウンロードが終わったら、各OSの方法でパッケージをインストールします。CentOSの場合は
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
といった感じになります。
2.MySQLのパッケージをインストール
OSによってyumなりapt-getなりあるかと思いますが、CentOSの場合は
yum -y install mysql-community-server
で、あとはおまかせです。
3.MySQLを起動
設定ファイルのカスタマイズはとりあえず置いておいて、MySQLを起動します。これもOSによりいろいろあると思いますが、CentOS7の場合は
systemctl start mysqld
となります。
4.rootユーザの設定
MySQLが起動すると、root@localhostの仮パスワードが/var/log/mysqld.logに書き出されます。見つけ方としては
grep root /var/log/mysqld.log
でよろしいかと思います。
で、この仮パスワードを使って、MySQLにログインします。
mysql -u root -p
ログインしたら、rootのパスワードを変更します。というか、変更しない限り他の操作を受け付けてくれないので、しなければなりません。
set password for 'root'@'localhost` = password('新しいパスワード');
無事変更が済んだら、rootの権限を設定します。まあ、普通rootであればすべて許可すると思いますので、
grant all on *.* to 'root'@'localhost';
最後に、権限情報を更新します。
flush privileges
5.mysql_secure_installation の実行
MySQLから抜けて、rootのシェルで実行します。
mysql_secure_installation
「anonymousのユーザーを消すか」「テスト用データベースを消すか」「リモートからのrootアクセスを禁止するか」等々、いろんなことを聞かれますので、用途に合わせて適当に答えてください。個人的には、セキュリティ上anonymousユーザの削除とリモートからのrootアクセス禁止は実行しておきたいところです。
……と、ここまで終われば、あとはいろいろできるかと思います。
以上、MySQL5.7のインストールと下準備の手順でした。