Help us understand the problem. What is going on with this article?

CentOS7.3にMySQL5.7をyumでインストールする

More than 3 years have passed since last update.

環境が整ってきた。今回はDBを入れるの巻。

これまでのおさらい

  1. vagrantでCentOS7.3の環境を作った:参照
  2. CentOS7.3の環境にPHP7.1をインストールした:参照
  3. Laravel 5.4をインストールした:参照
  4. nginxのインストール:参照
  5. nginxでLaravel5.4が動いたー:参照
  6. MySQL5.7入れるよ〜 ←今回

CentOS7.3にMySQL5.7をyumでインストールする

1.mariaDBの削除

CentOS7にはデフォルトでmariaDBが入っているとのことで削除する
いるかな、いるかな?

1-1.mariaDBがインストールされていることの確認

$ rpm -qa | grep maria
mariadb-libs-5.5.52-1.el7.x86_64

いました。
今回はバッサリいきます :haircut:

1-2.mariaDBとデータの削除

$ sudo yum remove mariadb-libs
$ sudo rm -rf /var/lib/mysql

綺麗さっぱり :information_desk_person:

2.MySQL5.7のインストール

(参考)https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

2-1.公式リポジトリを追加

最新は 「mysql57-community-release-el7-11.noarch.rpm」 のよう。

$ sudo rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

2-2.mysqlをインストール

$ sudo yum install --enablerepo=mysql57-community mysql-community-server

2-3.確認する

$ mysqld --version
mysqld  Ver 5.7.18 for Linux on x86_64 (MySQL Community Server (GPL))

よーし :ok_woman:

2-4.自動起動の設定

$ systemctl enable mysqld.service

2-5.起動する

$ systemctl start mysqld.service

2-6.mysqlに入る

パスワードがログに出力されているらしいので、以下のコマンドで確認する。

$ sudo grep 'temporary password' /var/log/mysqld.log
2017-06-11T07:11:58.756355Z 1 [Note] A temporary password is generated for root@localhost: XXXXXXXXXXXX

XXXXXXXXXXXXの部分にパスワードが表示される。
このパスワードを使って入る。

$ mysql -uroot -p
Enter password: XXXXXXXXXXXX
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.18

省略...

入れた :runner_tone1:

2-7.SELECTしてみる

$ mysql> select host, user from mysql.user;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

あちゃ :sweat_smile:
まずは新しいパスワードを設定する必要があるみたい。
パスワードの強度が低いと変更できないので、とりあえずマニュアル通りのパスを設定。

$ mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
Query OK, 0 rows affected (0.00 sec)

でけた :ok_hand_tone2:

$ mysql> select host, user from mysql.user;
+-----------+-----------+
| host      | user      |
+-----------+-----------+
| localhost | mysql.sys |
| localhost | root      |
+-----------+-----------+
2 rows in set (0.00 sec)

よーし。
とりあえず使えたワッショイ :lifter:

tech31
フリーランスでご飯を食べてる系の人。 子供と犬と自然が大好き。日々、マナブと学ぶ。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした