MySQL〜インストール方法〜

今回は、MySQLインストール方法を紹介します。

MySQLの概要は以下をご参考ください。

利用する実行環境のOSは「CentOS Stream release 9」です。
OSのインストールは完了している状態から記載します。

インストール方法

MySQLのインストール方法について紹介します。

リポジトリの追加

最初に、MySQLの公式リポジトリを追加します。
以下のコマンドを実行してください。このコマンドにより、MySQL 8.4のリポジトリが追加されます。

dnf install https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm

実行結果は以下の通りです。

[root@localhost ~]# dnf install https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm
CentOS Stream 9 - BaseOS                                                   6.5 MB/s | 9.3 MB     00:01
CentOS Stream 9 - AppStream                                                6.2 MB/s |  18 MB     00:02
CentOS Stream 9 - Extras packages                                           22 kB/s |  19 kB     00:00
メタデータの期限切れの最終確認: 0:00:01 前の 2024年09月15日 22時35分29秒 に実施しました。
mysql84-community-release-el9-1.noarch.rpm                                  25 kB/s |  13 kB     00:00
依存関係が解決しました。
===========================================================================================================
 パッケージ                            アーキテクチャー   バージョン        リポジトリー             サイズ
===========================================================================================================
インストール:
 mysql84-community-release             noarch             el9-1             @commandline              13 k

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

合計サイズ: 13 k
インストール後のサイズ: 14 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
トランザクションを確認しています
トランザクションの確認に成功しました。
トランザクションをテストしています
トランザクションのテストに成功しました。
トランザクションを実行しています
  準備中           :                                                                                   1/1
  インストール中   : mysql84-community-release-el9-1.noarch                                            1/1
  検証中           : mysql84-community-release-el9-1.noarch                                            1/1

インストール済み:
  mysql84-community-release-el9-1.noarch

完了しました!
[root@localhost ~]#

MySQLのインストール

次に、MySQLサーバーをインストールします。以下のコマンドを使用します。

dnf install mysql-server

実行結果は以下の通りです。

[root@localhost ~]# dnf install mysql-server
MySQL 8.4 LTS Community Server                                             1.0 MB/s | 433 kB     00:00
MySQL Connectors Community                                                 104 kB/s |  60 kB     00:00
MySQL Tools 8.4 LTS Community                                              429 kB/s | 192 kB     00:00
依存関係が解決しました。
===========================================================================================================
 パッケージ                           Arch          バージョン         リポジトリー                  サイズ
===========================================================================================================
インストール:
 mysql-community-server               aarch64       8.4.2-1.el9        mysql-8.4-lts-community        49 M
依存関係のインストール:
 mysql-community-client               aarch64       8.4.2-1.el9        mysql-8.4-lts-community       2.9 M
 mysql-community-client-plugins       aarch64       8.4.2-1.el9        mysql-8.4-lts-community       1.4 M
 mysql-community-common               aarch64       8.4.2-1.el9        mysql-8.4-lts-community       577 k
 mysql-community-icu-data-files       aarch64       8.4.2-1.el9        mysql-8.4-lts-community       2.3 M
 mysql-community-libs                 aarch64       8.4.2-1.el9        mysql-8.4-lts-community       1.4 M

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

ダウンロードサイズの合計: 57 M
インストール後のサイズ: 329 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/6): mysql-community-common-8.4.2-1.el9.aarch64.rpm                      8.9 MB/s | 577 kB     00:00
(2/6): mysql-community-client-plugins-8.4.2-1.el9.aarch64.rpm               12 MB/s | 1.4 MB     00:00
(3/6): mysql-community-client-8.4.2-1.el9.aarch64.rpm                       20 MB/s | 2.9 MB     00:00
(4/6): mysql-community-icu-data-files-8.4.2-1.el9.aarch64.rpm               19 MB/s | 2.3 MB     00:00
(5/6): mysql-community-libs-8.4.2-1.el9.aarch64.rpm                         22 MB/s | 1.4 MB     00:00
(6/6): mysql-community-server-8.4.2-1.el9.aarch64.rpm                       56 MB/s |  49 MB     00:00
-----------------------------------------------------------------------------------------------------------
合計                                                                        57 MB/s |  57 MB     00:01
MySQL 8.4 LTS Community Server                                             3.0 MB/s | 3.1 kB     00:00
GPG 鍵 0xA8D3785C をインポート中:
 Userid     : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
 Fingerprint: BCA4 3417 C3B4 85DD 128E C6D4 B7B3 B788 A8D3 785C
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023
これでよろしいですか? [y/N]: y
鍵のインポートに成功しました
トランザクションを確認しています
トランザクションの確認に成功しました。
トランザクションをテストしています
トランザクションのテストに成功しました。
トランザクションを実行しています
  準備中           :                                                                                   1/1
  インストール中   : mysql-community-common-8.4.2-1.el9.aarch64                                        1/6
  インストール中   : mysql-community-client-plugins-8.4.2-1.el9.aarch64                                2/6
  インストール中   : mysql-community-libs-8.4.2-1.el9.aarch64                                          3/6
  scriptletの実行中: mysql-community-libs-8.4.2-1.el9.aarch64                                          3/6
  インストール中   : mysql-community-client-8.4.2-1.el9.aarch64                                        4/6
  インストール中   : mysql-community-icu-data-files-8.4.2-1.el9.aarch64                                5/6
  scriptletの実行中: mysql-community-server-8.4.2-1.el9.aarch64                                        6/6
  インストール中   : mysql-community-server-8.4.2-1.el9.aarch64                                        6/6
  scriptletの実行中: mysql-community-server-8.4.2-1.el9.aarch64                                        6/6
  検証中           : mysql-community-client-8.4.2-1.el9.aarch64                                        1/6
  検証中           : mysql-community-client-plugins-8.4.2-1.el9.aarch64                                2/6
  検証中           : mysql-community-common-8.4.2-1.el9.aarch64                                        3/6
  検証中           : mysql-community-icu-data-files-8.4.2-1.el9.aarch64                                4/6
  検証中           : mysql-community-libs-8.4.2-1.el9.aarch64                                          5/6
  検証中           : mysql-community-server-8.4.2-1.el9.aarch64                                        6/6

インストール済み:
  mysql-community-client-8.4.2-1.el9.aarch64       mysql-community-client-plugins-8.4.2-1.el9.aarch64
  mysql-community-common-8.4.2-1.el9.aarch64       mysql-community-icu-data-files-8.4.2-1.el9.aarch64
  mysql-community-libs-8.4.2-1.el9.aarch64         mysql-community-server-8.4.2-1.el9.aarch64

完了しました!
[root@localhost ~]#

MySQLサービスの起動と自動起動設定

インストールが完了したら、MySQLサービスを起動し、自動起動を設定します。
実行コマンドは以下の通りです。

systemctl enable --now mysqld

実行結果は以下の通りです。
コマンドによって、mysqldサービスが起動、自動起動有効化されていることが分かります。

[root@localhost ~]# systemctl status mysqld
○ mysqld.service - MySQL Server
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)
     Active: inactive (dead)
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
[root@localhost ~]#
[root@localhost ~]# systemctl enable --now mysqld
[root@localhost ~]#
[root@localhost ~]# systemctl status mysqld
● mysqld.service - MySQL Server
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)
     Active: active (running) since Sun 2024-09-15 22:37:05 JST; 10s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
    Process: 33722 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
   Main PID: 33793 (mysqld)
     Status: "Server is operational"
      Tasks: 35 (limit: 22571)
     Memory: 469.2M
        CPU: 2.366s
     CGroup: /system.slice/mysqld.service
             └─33793 /usr/sbin/mysqld

 9月 15 22:37:01 localhost.localdomain systemd[1]: Starting MySQL Server...
 9月 15 22:37:05 localhost.localdomain systemd[1]: Started MySQL Server.
[root@localhost ~]#

初期パスワード変更設定

MySQLの初期パスワード変更を行います。
初回起動時に生成された一時的なrootパスワードを確認するために、以下のコマンドを実行します。

grep 'temporary password' /var/log/mysqld.log

実行結果は以下の通りです。(黄色のライン部分が一時パスワードになります。)

[root@localhost ~]# grep 'temporary password' /var/log/mysqld.log
2024-09-15T13:37:03.175932Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: FQTpZHtqE4-x
[root@localhost ~]#

この一時パスワードを利用してMySQLにログインし、パスワード変更を実施します。
以下のコマンドを実行します。

mysql -u root -p
ログイン後の画面で以下のSQLコマンドを実行
ALTER USER 'root'@'localhost' IDENTIFIED BY '新しいパスワード';

実行結果は以下の通りです。
変更後、変更したパスワードでログインできることを確認しました。

[root@localhost ~]# mysql -u root -p
Enter password: (一時パスワードを入力)
Welcome to the MySQL monitor.  Commands end with ; or \g
Your MySQL connection id is 8
Server version: 8.4.2

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

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>
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'pAssw0rd!';
Query OK, 0 rows affected (0.03 sec)

mysql>
mysql> exit
Bye
[root@localhost ~]#
[root@localhost ~]# mysql -u root -p
Enter password: (変更後のパスワードを入力)
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.4.2 MySQL Community Server - GPL

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

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>

パスワード変更時はMYSQLで設定されているパスワードポリシーを満たすパスワードを設定する必要があります。デフォルトのポリシー設定は以下の通りです。

  • パスワード長 8文字以上
  • 大文字小文字 1文字以上
  • 数字 1文字以上
  • 記号 1文字以上

パスワードポリシーを満たしていない場合、以下のエラーが発生します。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'passw0rd';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql>

まとめ

今回は、MySQLインストール方法を紹介しました。

構築時の参考になれば、幸いです。

以上になります。ありがとうございました。

参考

https://masaotech.com/mysql-install-centos9
https://www.bigriver.jp/?p=17394
https://mebee.info/2022/10/25/post-83666/

コメント

タイトルとURLをコピーしました