MySQL5.7.11をソースからインストールする時にハマったこと

MySQL-5.6.28を使ってましたが、新しいサーバーにはMySQL-5.7.11をソースインストールすることにしました。

少しハマったので、MySQL-5.6.28からMySQL-5.7.11をソースインストールする時の変更点を下記にまとめました。

1.CMakeのオプション

・MySQL-5.6.28

・MySQL-5.7.11

5行目と6行目が追加したオプションです。
MySQL-5.7.11はBOOSTというオープンソースライブラリを使用しています。
そのため上記オプションを追加しないと下記のエラーが出てしまいます。

※2016/04/12 追記

-DDOWNLOAD_BOOST=1 で勝手にダウンロードしてくれるけど、
タイムアウトの設定が600秒になってて今日引っかかっちゃいました。

DOWNLOAD_BOOST_TIMEOUT を設定して、タイムアウトまでの時間を伸ばそうかなと思いましたが、やっぱりあらかじめダウンロードしたものを使うかと思って5.7.11で使用しているBOOSTのバージョンはどうなっているんだと調べたら、1.59.0を使用している模様。
5.7.12 も 1.59.0 を使用しているみたいなのであらかじめダウンロードして使うようにしました。
ちなみに、ソースコードの cmake/boost.cmakeの37行にBOOSTのダウンロードURLが記載してあります。
1.59.0以外のバージョンが使用できるかは未確認。

2.DBのインストールと初期化

・MySQL-5.6.28

・MySQL-5.7.11

まずMySQL-5.6.28では、
./scripts/mysql_install_db
を使用してDBのインストールを行いましたが、
MySQL-5.7.11では
./bin/mysqld
を使用してDBのインストールを行います。
(※mysql_install_dbを使用しても初期化はできますが、推奨されていません)

オプションについては、他にもオプションを追加してますが、それは気にせずに、ここで重要なオプションは下記オプションです。

上記オプションを付けるとDBのインストールと初期化が行われます。

しかし–Initializeオプションで初期化を行うと、rootユーザーにランダムに生成されたパスワードが設定されてしまいます。

生成されたパスワードは初期化の際に出力される下記ログに含まれています。(*******にパスワードが表示される)

MySQL5.6.28と同じ挙動にするため–initializeオプションを下記に変更します。

上記オプションを指定すると、パスワードが未設定になりますので、すぐに./bin/mysql_secure_installationを実行してパスワードを設定するようにしましょう。

3.他の変更点など

MySQL5.6.28では、匿名アカウントとtestデータベースが作成されていましたが、MySQL5.7.11では作成されなくなりました。

以下公式HPより抜粋
Installation creates no anonymous-user accounts.
Installation creates no test database.

———————————広告———————————

———————————広告———————————

コメントを残す

メールアドレスが公開されることはありません。