RHEL7でRailsアプリのサーバを構築した【MySQLのインストール・設定】
こちらは、
RHEL7でRailsアプリのサーバを構築した - takapi86のブログ
の MySQLのインストール・設定
に関する記事です。
EC2のRHEL7にMySQLのインストール・設定を行います。
MariaDBを削除する
EC2のRHELはデフォルトでMySQLと互換のあるMariaDBが入っています。 どうやら、どちらもインストールされていると競合するという噂があるので、削除してしまいます。
$ sudo yum -y remove mariadb-libs $ sudo rm -rf /var/lib/mysql/
MySQLのyumリポジトリの追加
$ sudo yum -y localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpmについては、以下のURLから該当するものを選択しました。 https://dev.mysql.com/downloads/repo/yum/
MySQLのインストール
以下のコマンドで、 mysql, mysql-devel をインストールします。
$ sudo yum -y install mysql-community-server mysql-devel
バージョンを確認します。
$ mysqld --version mysqld Ver 5.7.18 for Linux on x86_64 (MySQL Community Server (GPL))
$ sudo systemctl enable mysqld.service
MySQLを起動します。
$ sudo systemctl start mysqld.service
MySQLのrootユーザーの初期パスワードを確認し、メモしておきます。
MySQL5.7からは、rootの初期パスワードは /var/log/mysqld.log
に書き込まれます。
$ less /var/log/mysqld.log
このようにパスワードが含まれています。この場合だと GI(8KOU;xZvi
がパスワードです。
[Note] A temporary password is generated for root@localhost: GI(8KOU;xZvi
セキュリティの初期設定
mysql_secure_installation
を実行しセキュリティに関する初期設定を行います。
パスワードは先ほどメモした /var/log/mysqld.log
に書かれていたものを使用します。
設定する内容については、以下のサイトを参考にするとよいでしょう。
MySQL :: MySQL 5.6 リファレンスマニュアル :: 4.4.5 mysql_secure_installation — MySQL インストールのセキュリティー改善
$ mysql_secure_installation
文字コードの設定
/etc/my.cnf
に以下の設定を追加することで、デフォルトの文字コードをutf8に変更します。
character-set-server = utf8
設定後はMySQLを再起動します。
$ sudo systemctl restart mysqld.service
ユーザを作成する
rootでMySQLにログインします。
$ mysql -u root -p
今回は、外部からは参照しないので、以下の設定を追加します。
mysql> CREATE USER 'ユーザ名'@'localhost' IDENTIFIED WITH mysql_native_password BY 'パスワード'; mysql> GRANT ALL PRIVILEGES ON DB名.* TO `ユーザ名`@`localhost`;
以上で、MySQLの設定は完了です。
この手順は、以下のサイトを参考に作成しました。