Almalinux9.4にmysql8.4(LTS)のインストールと、rootのパスワード設定まで

Linux

前提

  • ローカルの仮想開発環境なので、mysqlのrootパスワードのセキュリティは最低に下げる。
  • sudoは使っていません。rootで直接作業しています。

パスワードポリシーを最低にする。急いでいる人用

下記を/etc/my.cnfに追記してmysqlを再起動する。

validate_password.policy=LOW
validate_password.length=4

mysqlにrootでログイン後、下記コマンドでパスワード'1234'に設定可能です。

mysql> alter user 'root'@'localhost' identified by '1234';
Query OK, 0 rows affected (0.01 sec)

mysql> \q
Bye

インストールから順に実行

OSバージョン確認

# cat /etc/redhat-release
AlmaLinux release 9.4 (Seafoam Ocelot)

公式リポジトリを登録

# curl -OL https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm
# rpm -ivh mysql84-community-release-el9-1.noarch.rpm
warning: mysql84-community-release-el9-1.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID a8d3785c: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql84-community-release-el9-1  ################################# [100%]

※ ダウンロードリンクは https://dev.mysql.com/downloads/repo/yum/で確認。

dnfでmysqlをインストール。

# dnf install mysql mysql-community-server
Last metadata expiration check: 0:01:43 ago on Mon Nov 18 15:57:24 2024.
Dependencies resolved.
========================================================================================================================
 Package                              Architecture  Version                         Repository                     Size
========================================================================================================================
Installing:
 mysql-community-server               aarch64       8.4.3-1.el9                     mysql-8.4-lts-community        49 M
(中略)
  mysql-community-server-8.4.3-1.el9.aarch64             net-tools-2.0-0.62.20160912git.el9.aarch64

Complete!

一度mysqlを開始しておく。

# systemctl start mysqld

サーバー起動時にmysqlも自動起動させるなら、enableも設定する。

# systemctl enable mysqld

my.cnf編集前に一度停止する。

# systemctl stop mysqld

my.cnfを編集する。

# vi /etc/my.cnf

下記をmy.cnfに追加して保存する。

validate_password.policy=LOW
validate_password.length=4

mysqlを起動する。

# systemctl start mysqld

初回の起動時に設定されたパスワードを確認する。

# cat /var/log/mysqld.log | grep password
2024-11-18T06:59:18.309994Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 「自動設定されたパスワード」

mysqlにログインする。

# mysql -uroot -p
Enter password: 「自動設定されたパスワード」を入力
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.4.3

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>

rootパスワードを'1234'で設定し、エラーが無ければ一度ログアウトする。

mysql> alter user 'root'@'localhost' identified by '1234';
Query OK, 0 rows affected (0.01 sec)

mysql> \q
Bye

rootパスワード'1234'でログインできることを確認する。

# mysql -uroot -p1234
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.4.3 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> show variables like 'validate_password%';
+-------------------------------------------------+-------+
| Variable_name                                   | Value |
+-------------------------------------------------+-------+
| validate_password.changed_characters_percentage | 0     |
| validate_password.check_user_name               | ON    |
| validate_password.dictionary_file               |       |
| validate_password.length                        | 4     |
| validate_password.mixed_case_count              | 1     |
| validate_password.number_count                  | 1     |
| validate_password.policy                        | LOW   |
| validate_password.special_char_count            | 1     |
+-------------------------------------------------+-------+
8 rows in set (0.01 sec)

コメント

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