👏

Amazon Linux 2023にMySQL8+gem mysql2をインストールするには

2024/03/04に公開

AL2023にMySQLをインストールするには以下のようにします。

sudo dnf -y localinstall https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
sudo dnf -y install mysql mysql-community-client
# gem mysql2には必要
sudo dnf -y mysql-devel
# データベースを運用するには必要
sudo dnf -y mysql-server

GPGkeyの不整合で mysql-community-clientがインストールされないときは以下を参照
https://qiita.com/Code_Dejiro/items/c97c400b92a85dce4468

起動コマンドなど・・

sudo systemctl start mysqld
sudo systemctl status mysqld

ログインできない!

mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

sudo systemctl stop mysqld
sudo systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
sudo systemctl start mysqld
mysql -uroot

パスワード変更できない!

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

パスワードのポリシーを「低い」にする。
あるいはポリシーは変えず、Password1!をよく使いますね・・

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                        | 8      |
| validate_password.mixed_case_count              | 1      |
| validate_password.number_count                  | 1      |
| validate_password.policy                        | MEDIUM |
| validate_password.special_char_count            | 1      |
+-------------------------------------------------+--------+
8 rows in set (0.01 sec)

mysql> set global validate_password.policy=LOW;
Query OK, 0 rows affected (0.00 sec)

パスワード変更して、再起動!
簡単ですが、結構時間取られたので誰かのお役に立てればと・・

Discussion