2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MySQL構築

2
Posted at

はじめに

こちらではMySQLの構築について紹介させていただきます。
まぁどこにでもある普通の内容でQiita使ってる皆様には食傷気味かもしれませんが。なるべくわかりやすくを心掛けて書いていきたいと思います。

環境

VirtualBox
Vagrant
Cent0S7

こちらで構築の紹介をさせていただいてます参考にどうぞ

手順

不要なものを削除(入っていれば)

まず最初にCentOS7にはMariaDBがデフォルトで入っているらしいのでそれを確認(残っていると競合してしまいインストールできないらしい)

$ yum list installed | grep maria

ある場合は削除します。

$ sudo yum remove -y mariadb-libs.x86_64

データディレクトリも削除(ある場合)

$ rm -rf /var/lib/mysql/

MySQL導入

まずMySQLがあるかどうか調べます。

$ yum list | grep mysql       
akonadi-mysql.x86_64                        1.9.2-4.el7                base     
apr-util-mysql.x86_64                       1.5.2-6.el7                base     
dovecot-mysql.x86_64                        1:2.2.36-3.el7_7.1         updates  
freeradius-mysql.x86_64                     3.0.13-10.el7_6            base     
libdbi-dbd-mysql.x86_64                     0.8.3-16.el7               base     
mysql-connector-java.noarch                 1:5.1.25-3.el7             base     
mysql-connector-odbc.x86_64                 5.2.5-8.el7                base     
pcp-pmda-mysql.x86_64                       4.3.2-5.el7_7              updates  
php-mysql.x86_64                            5.4.16-46.1.el7_7          updates  
php-mysqlnd.x86_64                          5.4.16-46.1.el7_7          updates  
qt-mysql.i686                               1:4.8.7-3.el7_6            base     
qt-mysql.x86_64                             1:4.8.7-3.el7_6            base     
qt5-qtbase-mysql.i686                       5.9.7-2.el7                base     
qt5-qtbase-mysql.x86_64                     5.9.7-2.el7                base     
redland-mysql.x86_64                        1.0.16-6.el7               base     
rsyslog-mysql.x86_64                        8.24.0-41.el7_7.4          updates  

MySQLサーバをインストールしたいですがないようです。
CentOS7には公式のyumリポジトリにはないようなので公式からrpmファイルをインストールすることになります。

SQL公式からインストールのやり方を書いてくださっているのでそちらを参考に構築していきます。

$ sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

正常にインストールできているか確認

$ yum repolist enabled | grep "mysql.*-community.*"

インストール

$ sudo yum install mysql-community-server

バージョンの確認

$ mysql --version
mysql  Ver 8.0.19 for Linux on x86_64 (MySQL Community Server - GPL)

起動

$ sudo service mysqld start

起動確認

$ sudo service mysqld status

active (running)
と表示されていたら起動されています。

設定

この状態だとOS起動する度にSQLを起動しなおさないといけないので
自動起動するように設定します。

$ systemctl start mysqld

再起動して確認してみましょう。
起動していたら成功です。

続いてパスワードの設定
初期パスワードはmysqld.logのなかに書かれています。

確認

$ sudo cat /var/log/mysqld.log | grep root
2020-04-09T01:15:32.727302Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: [初期パスワード]

起動してログイン

$ mysql -u root -p
Enter password:[初期パスワードを入力]

パスワードの変更
方法はいくつかありますが公式のセキュリティ改善で紹介されているのでこちらで紹介いたします

$ sudo mysql_secure_installation

最初にパスワードを聞かれるので初期パスワードを入力して新しいパスワードを入力してください

$ mysql -u root -p
Enter password:[新しく設定したパスワードを入力]

ログインできたら成功です。

パスワードポリシー

新しいパスワードを設定する際にパスワードポリシーを知る必要があります。
こちらではMySQLに保存されているパスワードポリシーを確認してみましょう。

公式にやり方が載っているので参考に

mysql> SHOW VARIABLES LIKE 'validate_password.%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| 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      |
+--------------------------------------+--------+

参考程度に一例

mysql> set global validate_password.length=9; 

確認

mysql> SHOW VARIABLES LIKE 'validate_password.%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 9      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+

変わったのがわかると思います。

試しに新しく作ってみましょう

mysql> create user 'user@localhost' identified by '<?lz*V6?';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

8文字でエラーが出ているのがわかると思います。

まとめ

いかがだったでしょうか今回はCentOSでMySQLのインストールとパスワードの初期設定について紹介いたしました。
参考になれば幸いです。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?