MySQLのセットアップ。

今回はMySQLの初期設定と、wordpressで使用するデータベースの作成を行います。

設定関連

Mariadb-libsをアンインストールする。

今回はmariadb-libsを使用しないため、アンインストールします。
依存関係にあるpostfixも、このとき一緒にアンインストールされてしまいます。

# yum remove mariadb-libs
# yum remove mariadb-libs
読み込んだプラグイン:fastestmirror
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ mariadb-libs.x86_64 1:5.5.56-2.el7 を 削除
--> 依存性の処理をしています: libmysqlclient.so.18()(64bit) のパッケージ: 2:postfix-2.10.1-6.el7.x86_64
--> 依存性の処理をしています: libmysqlclient.so.18(libmysqlclient_18)(64bit) のパッケージ: 2:postfix-2.10.1-6.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ postfix.x86_64 2:2.10.1-6.el7 を 削除
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
================================================================================================================================
削除中:
mariadb-libs x86_64 1:5.5.56-2.el7 @anaconda 4.4 M
依存性関連での削除をします:
postfix x86_64 2:2.10.1-6.el7 @anaconda 12 M

トランザクションの要約
================================================================================================================================
削除 1 パッケージ (+1 個の依存関係のパッケージ)

インストール容量: 17 M
上記の処理を行います。よろしいでしょうか? [y/N]y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
削除中 : 2:postfix-2.10.1-6.el7.x86_64 1/2
削除中 : 1:mariadb-libs-5.5.56-2.el7.x86_64 2/2
検証中 : 1:mariadb-libs-5.5.56-2.el7.x86_64 1/2
検証中 : 2:postfix-2.10.1-6.el7.x86_64 2/2

削除しました:
mariadb-libs.x86_64 1:5.5.56-2.el7

依存性の削除をしました:
postfix.x86_64 2:2.10.1-6.el7

完了しました!

MySQL-community-serverのインストール。

# yum localinstall -y http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
# yum localinstall -y http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
読み込んだプラグイン:fastestmirror
mysql57-community-release-el7-7.noarch.rpm | 8.8 kB 00:00:00
/var/tmp/yum-root-flavXt/mysql57-community-release-el7-7.noarch.rpm を調べています: mysql57-community-release-el7-7.noarch
/var/tmp/yum-root-flavXt/mysql57-community-release-el7-7.noarch.rpm をインストール済みとして設定しています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ mysql57-community-release.noarch 0:el7-7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
================================================================================================================================
インストール中:
mysql57-community-release noarch el7-7 /mysql57-community-release-el7-7.noarch 7.8 k

トランザクションの要約
================================================================================================================================
インストール 1 パッケージ

合計容量: 7.8 k
インストール容量: 7.8 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : mysql57-community-release-el7-7.noarch 1/1
検証中 : mysql57-community-release-el7-7.noarch 1/1

インストール:
mysql57-community-release.noarch 0:el7-7

完了しました!

先ほどmariadb-libsアンインストールの際に、依存関係で削除されてしまったpostfixもここで一緒にインストールします。

# yum install -y mysql-community-server postfix
# yum install -y mysql-community-server postfix
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.yz.yamagata-u.ac.jp
* epel: mirror.dmmlabs.jp
* extras: ftp.yz.yamagata-u.ac.jp
* remi-safe: ftp.riken.jp
* updates: ftp.yz.yamagata-u.ac.jp
mysql-connectors-community | 2.5 kB 00:00:00
mysql-tools-community | 2.5 kB 00:00:00
mysql57-community | 2.5 kB 00:00:00
(1/3): mysql-tools-community/x86_64/primary_db | 41 kB 00:00:00
(2/3): mysql-connectors-community/x86_64/primary_db | 20 kB 00:00:00
(3/3): mysql57-community/x86_64/primary_db | 144 kB 00:00:00
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ mysql-community-server.x86_64 0:5.7.22-1.el7 を インストール
--> 依存性の処理をしています: mysql-community-common(x86-64) = 5.7.22-1.el7 のパッケージ: mysql-community-server-5.7.22-1.el7.x86_64
--> 依存性の処理をしています: mysql-community-client(x86-64) >= 5.7.9 のパッケージ: mysql-community-server-5.7.22-1.el7.x86_64
---> パッケージ postfix.x86_64 2:2.10.1-6.el7 を インストール
--> 依存性の処理をしています: libmysqlclient.so.18(libmysqlclient_18)(64bit) のパッケージ: 2:postfix-2.10.1-6.el7.x86_64
--> 依存性の処理をしています: libmysqlclient.so.18()(64bit) のパッケージ: 2:postfix-2.10.1-6.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ mysql-community-client.x86_64 0:5.7.22-1.el7 を インストール
--> 依存性の処理をしています: mysql-community-libs(x86-64) >= 5.7.9 のパッケージ: mysql-community-client-5.7.22-1.el7.x86_64
---> パッケージ mysql-community-common.x86_64 0:5.7.22-1.el7 を インストール
---> パッケージ mysql-community-libs-compat.x86_64 0:5.7.22-1.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ mysql-community-libs.x86_64 0:5.7.22-1.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
================================================================================================================================
インストール中:
mysql-community-server x86_64 5.7.22-1.el7 mysql57-community 165 M
postfix x86_64 2:2.10.1-6.el7 base 2.4 M
依存性関連でのインストールをします:
mysql-community-client x86_64 5.7.22-1.el7 mysql57-community 24 M
mysql-community-common x86_64 5.7.22-1.el7 mysql57-community 274 k
mysql-community-libs x86_64 5.7.22-1.el7 mysql57-community 2.1 M
mysql-community-libs-compat x86_64 5.7.22-1.el7 mysql57-community 2.0 M

トランザクションの要約
================================================================================================================================
インストール 2 パッケージ (+4 個の依存関係のパッケージ)

総ダウンロード容量: 196 M
インストール容量: 883 M
Downloading packages:
警告: /var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-common-5.7.22-1.el7.x86_64.rpm: ヘッダー V3 DSA/SHA1 Signature、鍵 ID 5072e1f5: NOKEY
mysql-community-common-5.7.22-1.el7.x86_64.rpm の公開鍵がインストールされていません
(1/6): mysql-community-common-5.7.22-1.el7.x86_64.rpm | 274 kB 00:00:00
(2/6): mysql-community-libs-5.7.22-1.el7.x86_64.rpm | 2.1 MB 00:00:00
(3/6): mysql-community-client-5.7.22-1.el7.x86_64.rpm | 24 MB 00:00:00
(4/6): mysql-community-libs-compat-5.7.22-1.el7.x86_64.rpm | 2.0 MB 00:00:00
(5/6): postfix-2.10.1-6.el7.x86_64.rpm | 2.4 MB 00:00:00
(6/6): mysql-community-server-5.7.22-1.el7.x86_64.rpm | 165 MB 00:00:02
--------------------------------------------------------------------------------------------------------------------------------
合計 59 MB/s | 196 MB 00:00:03
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql から鍵を取得中です。
Importing GPG key 0x5072E1F5:
Userid : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
Fingerprint: a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5
Package : mysql57-community-release-el7-7.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : mysql-community-common-5.7.22-1.el7.x86_64 1/6
インストール中 : mysql-community-libs-5.7.22-1.el7.x86_64 2/6
インストール中 : mysql-community-libs-compat-5.7.22-1.el7.x86_64 3/6
インストール中 : mysql-community-client-5.7.22-1.el7.x86_64 4/6
インストール中 : mysql-community-server-5.7.22-1.el7.x86_64 5/6
インストール中 : 2:postfix-2.10.1-6.el7.x86_64 6/6
検証中 : mysql-community-libs-compat-5.7.22-1.el7.x86_64 1/6
検証中 : mysql-community-common-5.7.22-1.el7.x86_64 2/6
検証中 : mysql-community-server-5.7.22-1.el7.x86_64 3/6
検証中 : 2:postfix-2.10.1-6.el7.x86_64 4/6
検証中 : mysql-community-client-5.7.22-1.el7.x86_64 5/6
検証中 : mysql-community-libs-5.7.22-1.el7.x86_64 6/6

インストール:
mysql-community-server.x86_64 0:5.7.22-1.el7 postfix.x86_64 2:2.10.1-6.el7

依存性関連をインストールしました:
mysql-community-client.x86_64 0:5.7.22-1.el7 mysql-community-common.x86_64 0:5.7.22-1.el7
mysql-community-libs.x86_64 0:5.7.22-1.el7 mysql-community-libs-compat.x86_64 0:5.7.22-1.el7

完了しました!

my.cnfに文字コード設定を追記する。

/etc/my.cnfを開き、最終行に次の2行を追記します。

# vi /etc/my.cnf
character_set_server=utf8
skip-character-set-client-handshake

mysql_secure_installation

mysqlを起動します。

# systemctl start mysqld

MySQLは初期パスワードが決まっているので変更しておく必要があります。
初期パスワードは以下のコマンドで確認できます。

# cat /var/log/mysqld.log | grep 'temporary password'
2018-07-21T22:40:50.166356Z 1 [Note] A temporary password is generated for root@localhost: LyXfxkl-u1GC

mysql_secure_installationコマンドを使用すると、rootパスワードの変更や初期設定などが対話形式で行えるようになります。

# mysql_secure_installation
Securing the MySQL server deployment.

Enter password for user root: (上記で調べたパスワードを入力する)

The existing password for the user account root has expired. Please set a new password.
(ユーザーアカウントのルートの既存のパスワードの有効期限が切れています。新しいパスワードを設定してください。)
New password: (新しいパスワード)

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) : (yを入力)

New password: (新しいパスワード)

Re-enter new password: (新しいパスワード)

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :  (yを入力)
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) :  (yを入力)
(匿名ユーザーを削除しますか?)
Success.

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) :  (yを入力)
(リモートからのrootログインを拒否しますか?)
Success.

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) :  (yを入力)
(テストデータベースを削除してアクセスしますか?)
- Dropping test database...
Success.

- Removing privileges on test database...
Success.

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) :  (yを入力)
(今すぐ特権テーブルを再ロードしますか?)
Success.

All done!

尚、新しく設定するパスワードは、8文字以上で英大文字・英小文字・数字・記号を含んでいないと登録することができません。

設定を反映させる。

設定を反映させる為に、quitでMySQLから離脱してからMySQLを再起動させます。

# systemctl restart mysqld

設定した新しいパスワードでMySQLにログインできるか確認します。

# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.22 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, 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>

設定した文字コードを確認します。

> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

以上で設定完了です。

データベースを作成する。

wordpressのシステムがMySQLにアクセスする為のデータベースとユーザを作成するので、予めパスワードを決めておく必要があります。

# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.22 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, 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> create database wordpress;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on wordpress.* to wordpress@localhost identified by 'mysqlのwordpressユーザのパスワード';
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

きちんとデータベースが作成されているか確認します。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| wordpress          |
+--------------------+
5 rows in set (0.00 sec)

以上でMySQLの初期設定と、wordpressで使用するデータベースの作成は完了です。

この記事はいかがでしたか?
良かったらポチッとお願いします!励みになります!!