今回は、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/
コメント