[サーバー] AmazonLinuxにMySQL5.7をインストールする
こんにちは、@yoheiMuneです。
本日はAmazonLinuxやCentOSにMySQL5.7をインストールする方法をブログに残したいと思います。
レポジトリの追加ができたら、インストール可能な内容を確認します。
あと、
では、インストールします。
そしてここで僕はつまづいたのですが、「rootユーザーのパスワードはどこ?」という状態になりました。。よくよく調べてみると
上記でパスワードを変更すれば、MySQLを使えるようになります。
MySQL :: MySQL 5.6 リファレンスマニュアル :: 2.5.1 MySQL Yum リポジトリを使用して MySQL を Linux にインストールする | dev.mysql.com
CentOS 6 / RHEL 6 に MySQL 5.6 を yum インストールする手順 | WEB ARCH LABO
MySQL 5.7 をインストールしたら最初に行うセットアップ | WEB ARCH LABO
最後になりますが本ブログでは、フロントエンド・Python・機械学習など雑多に情報発信をしていきます。自分の第2の脳にすべく、情報をブログに貯めています。気になった方は、本ブログのRSSやTwitterをフォローして頂けると幸いです ^ ^。
最後までご覧頂きましてありがとうございました!
本日はAmazonLinuxやCentOSにMySQL5.7をインストールする方法をブログに残したいと思います。
目次
yumレポジトリの追加とインストール
今回はyum経由でMySQLをインストールします。最初から入っているyumのレポジトリは少し古いので、MySQL5.7のレポジトリを追加します。yum -y install http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpmなおこの記事以降で、さらに新しいMySQLが出ているかもしれませんので、最新のrpmはこちらより確認してください。
レポジトリの追加ができたら、インストール可能な内容を確認します。
$ yum repolist enabled | grep "mysql.*-community.*" mysql-connectors-community/x86_64 MySQL Connectors Community 16+5 mysql-tools-community/x86_64 MySQL Tools Community 35 mysql57-community/x86_64 MySQL 5.7 Community Server 66ちゃんとMySQL5.7がありますね。
あと、
yum infoコマンドでも確認してみます。
$ yum info mysql-community-server
Loaded plugins: priorities, update-motd, upgrade-helper
5 packages excluded due to repository priority protections
Available Packages
Name : mysql-community-server
Arch : x86_64
Version : 5.7.11
Release : 1.el6
Size : 135 M
Repo : mysql57-community/x86_64
Summary : A very fast and reliable SQL database server
URL : http://www.mysql.com/
License : Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Under GPLv2 license as shown in the Description field.
Description : The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
: and robust SQL (Structured Query Language) database server. MySQL Server
: is intended for mission-critical, heavy-load production systems as well
: as for embedding into mass-deployed software. MySQL is a trademark of
: Oracle and/or its affiliates
:
: The MySQL software has Dual Licensing, which means you can use the MySQL
: software free of charge under the GNU General Public License
: (http://www.gnu.org/licenses/). You can also purchase commercial MySQL
: licenses from Oracle and/or its affiliates if you do not wish to be bound by the terms of
: the GPL. See the chapter "Licensing and Support" in the manual for
: further info.
:
: The MySQL web site (http://www.mysql.com/) provides the latest news and
: information about the MySQL software. Also please see the documentation
: and the manual for more information.
:
: This package includes the MySQL server binary as well as related utilities
: to run and administer a MySQL server.
こちらでもMySQLのバージョンが5.7.11であることがわかります。余談ですが.11であるところもポイントです。.10以下だと、セットアップ時にdefault_password_lifetimeというパラメータに0する必要があるためです。詳細はこちらのブログです。では、インストールします。
$ yum -y install mysql-community-serverインストールが完了したら、以下コマンドでバージョンを確認します。
$ mysql --version mysql Ver 14.14 Distrib 5.7.11, for Linux (x86_64) using EditLine wrapper最後に、サーバー起動時に自動的にMySQLも起動するように設定しておきます。
chkconfig mysqld onこれでインストールは完了です。
MySQL起動とログイン
インストールが完了したら、さっそく起動します。$ service mysqld start Initializing MySQL database: [ OK ] Installing validate password plugin: [ OK ] Starting mysqld: [ OK ]初回起動時には上記のようにデータベースの初期化処理などが行われます。
そしてここで僕はつまづいたのですが、「rootユーザーのパスワードはどこ?」という状態になりました。。よくよく調べてみると
/var/log/mysqld.logのログファイル内に、起動の初期化処理時に仮のrootユーザーのパスワードがあることがわかりました。# /var/log/mysqld.log ...省略... [Note] A temporary password is generated for root@localhost: Nj&tcl!<R6uO ...省略...上記の場合には
Nj&tcl!<R6uOがrootの初期パスワードです。それを用いてログインします。$ mysql -uroot -p password:これでMySQLにログインできれば成功です。しかし何か処理を行おうとすると、
mysql> \s ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.初期の仮パスワードを変更するまでは、処理は受け付けてくれないようです。なので、新しいパスワードを設定します。
ALTER USER root@localhost IDENTIFIED BY 'NewPass123?&!';ここでパスワードはある程度強度があるものが求められます(僕はここでもハマりました)。以下のような設定がデフォルトで、
mysql> show global variables like 'validate%'; +--------------------------------------+--------+ | Variable_name | Value | +--------------------------------------+--------+ | validate_password_dictionary_file | | | validate_password_length | 8 | | validate_password_mixed_case_count | 1 | | validate_password_number_count | 1 | | validate_password_policy | MEDIUM | | validate_password_special_char_count | 1 | +--------------------------------------+--------+ 6 rows in set (0.05 sec)「8文字以上、英字/数字/記号をそれぞれ1つ以上含む」というのがパスワード文字列の条件となっています。
上記でパスワードを変更すれば、MySQLを使えるようになります。
参考資料
今回の作業を行うために、以下の記事を参照しました。ありがとうございます。MySQL :: MySQL 5.6 リファレンスマニュアル :: 2.5.1 MySQL Yum リポジトリを使用して MySQL を Linux にインストールする | dev.mysql.com
CentOS 6 / RHEL 6 に MySQL 5.6 を yum インストールする手順 | WEB ARCH LABO
MySQL 5.7 をインストールしたら最初に行うセットアップ | WEB ARCH LABO
最後に
今回は、AmazonLinuxにMySQL5.7をインストールする方法をブログに書きました。yumレポジトリのURLやハマりどころなど残しておきたいところが多かったのでブログを書いた次第です。今後は同じようなことにハマらなければいいなーと思う今日この頃です。ただ、ハマるとすごく勉強になるなぁとも思っています。最後になりますが本ブログでは、フロントエンド・Python・機械学習など雑多に情報発信をしていきます。自分の第2の脳にすべく、情報をブログに貯めています。気になった方は、本ブログのRSSやTwitterをフォローして頂けると幸いです ^ ^。
最後までご覧頂きましてありがとうございました!





