【MySQL】MySQL5.7のインストール

##ことの顛末##
そもそもこんなこと書く必要ないじゃん！？って思われる方は多いと思います。
ええ、多分自分も何も知らずに見たらそう思うでしょう。

この記事は、自分が他の記事に対してオブジェクト指向で記事を作成するための記事です。
つまり、どんな環境でも本番のように使おうと思うとMySQLの利用は欠かせないと思うのですが、記事を書くたびに同じこと書くのは絶対的に非効率です。
しかしそこを抜かしてしまうと初学者は「何をどうするの」となり、IT学習に対するモチベーションの低下を招くでしょう。
そんなことでモチベ下がるならやるな、というのは簡単ですが人を育てるというのはそうではなく「相手の目線にどれだけ寄り添って教えられるか」だと自分は考えています。

ということで、そのオブジェクトの一つとしてこの記事を残します。

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

```
[root@localhost ~]# yum -y remove mariadb-libs
```

```
[root@localhost ~]# rm -rf /var/lib/mysql/
```

```
[root@localhost ~]# yum -y localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
```

```
[root@localhost ~]# yum -y install mysql-community-server
```

```
[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# systemctl enable mysqld
```

```
[root@localhost ~]# cat /var/log/mysqld.log | grep 'password is generated'
2019-04-06T05:50:39.111796Z 1 [Note] A temporary password is generated for root@localhost: re;ue0rkCydc
```

```
[root@localhost ~]# mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root: ここでre;ue0rkCydcに当たる個人のパスワードを入力

The existing password for the user account root has expired. Please set a new password.

New password:　新たなパスワードを設定　8文字以上で半角数字、大小英字、記号をそれぞれ1文字以上混ぜなければならない

Re-enter new password:　もう一度新しいパスワードを入力
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : 全部空でOK

 ... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : 

 ... skipping.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : 

 ... skipping.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : 

 ... skipping.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : 

 ... skipping.
All done!

```

```
[root@localhost ~]# mysql -u root -p　#ログインできるかどうかだけ確認
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.25 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> exit;
Bye
[root@localhost ~]#
```