search
LoginSignup
2

More than 3 years have passed since last update.

posted at

AWS Amazon LinuxサーバにMySQLをインストールした際に詰まった箇所の備忘録

はじめに

AWSのAmazon Linux 2にMySQL5.7をインストールしようとした際に詰まった(?)箇所が何点かあったので備忘録を。詰まった内容は以下の通りです。

行おうとした作業

  1. AWSのVPC上に構築した仮想サーバにMySQLをダウンロード+インストール
  2. インストールしたMySQLにrootユーザでログインし、DBの初期設定を行う

発生した問題

1.デフォルトで入っているMariaDBとの競合でMySQLがインストールできない
2.MySQL 5.7のrootユーザに初期パスワードが設定されており、ログインできない

※本記事執筆時点(2019/05/11)での環境の内容になります。

1. MariaDBとの競合

Amazon Linux 2にはデフォルトでMySQLの後継となるMariaDBというオープンソースのDBソフトがインストールされており、私の環境ではMySQLのインストールに失敗していました。
以下の手順でMariaDBをアンインストール→MySQLをインストールで解決しました。

# MariaDBのアンインストール
$ sudo yum remove mariadb-libs

# MySQLをダウンロード + インストール
$ sudo yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
$ sudo yum -y install mysql-community-server

(とはいえ、WordPress用のDBなのでMariaDBのままでも良かったのかも・・・)

2. MySQL 5.7 rootユーザの初期パスワード

MySQL 5.7では初回起動時(systemctl start mysqldのタイミング?)でrootにランダムな初期パスワードが生成されるらしく、このパスワードが分からないためログインに失敗するという事態になりました。
これを解決するためにはMySQLのログファイルから初期パスワードを確認する必要があります。MySQLは/var/log/mysqld.log になります。ログファイル内から「temporary password」という文字列を検索し、付与されたrootユーザのパスワードを調べます。

# MySQLのログファイル内からrootユーザーに付与されたパスワードを検索
sudo cat /var/log/mysqld.log | grep 'temporary password'
[Note] A temporary password is generated for root@localhost: XXXXXX

#上記の「XXXXXX」の部分が初期パスワード

なお、MySQLのログファイルなので初回起動から時間が流れると、初期パスワードを付与した上記ログが無くなってしまうので、初回起動の操作とセットですぐ行うべき(というか普通そうするハズ)。

参考文献

第10回 yum, rpmインストールにおけるMySQL 5.6とMySQL 5.7の違い
書籍:Amazon Web Services 基礎からのネットワーク&サーバー構築

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2