🐙
Ubuntu23.10にMySQLサーバを構築しようとしたらrootパスワードを聞かれずに焦った
概要
データベースサーバを構築する必要があり、久しぶりにMySQLサーバの構築をしてみました。
インストール中にrootパスワードの設定がなかったので焦りましたが、あとからrootパスワードの設定ができたので、記録に残しておきたいと思います。
環境
- サーバ
- 筐体: Raspberry Pi4
- OS: Ubuntu 23.10
- 作業
- Macからssh接続
インストール
公式の手順に従ってインストールします。
$ sudo apt update
$ sudo apt install mysql-server
インストールの途中でrootパスワードを設定するらしいのですが、何も聞かれずにインストールが完了してしまいました。
rootパスワードの設定
エラーログを見てみると、--initialize-insecure
オプションがついていたので空のパスワードを設定してくれたらしいです。
$ sudo less /var/log/mysql/error.log
2024-08-20T01:14:06.566377Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.37-0ubuntu0.23.10.2) initializing of ser
ver in progress as process 2498703
2024-08-20T01:14:06.650588Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-08-20T01:14:13.120195Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-08-20T01:14:23.106006Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider s
witching off the --initialize-insecure option.
...(省略)...
--initialize-insecure
オプションについてググってみると、初期化後のrootパスワードの割当てについての手順がありましたので、これに従って設定してみたいと思います。
まずは、パスワードなしでログイン
$ sudo mysql -u root --skip-password
できました。
rootパスワードの設定
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
Query OK, 0 rows affected (0.01 sec)
できました。
動作確認
設定したrootパスワードでログインできました。
$ sudo mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.37-0ubuntu0.23.10.2 (Ubuntu)
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>
Discussion