小ネタです。
休みなので
久しぶりにローカル環境のUbuntuでMySQLにアクセスしようとして、
パスワードを見事に忘れたことに気づきました。
ubuntu 20.04なので、以下の手順でパスワードのリセットが出来ます。
https://linuxconfig.org/how-to-reset-root-mysql-mariadb-password-on-ubuntu-20-04-focal-fossa-linux
が、ちょこっと違う手順でやってみたので、メモ書き用に書いてみます。
環境
パスワードを変更した環境は以下の通りです。
- ubuntu 20.04 LTS
- mysql 8.0.22
手順
mysqld.cnf変更
/etc/mysql/mysql.conf.d/mysqld.cnfに以下二行を追加します。私の環境では、"ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded"
と言われて、パスワードが変更できなかったので、以下の二行を追加しています。
skip-grant-tables plugin-load-add = auth_socket.so
mysql停止からパスワード変更
あとは、おおよそ書いてある通りに設定します。
$ sudo systemctl stop mysql $ sudo mkdir -p /var/run/mysqld $ sudo chown mysql:mysql /var/run/mysqld $ sudo /usr/sbin/mysqld --skip-grant-tables & ### --networkをskipしていないのでlocalhostでしか接続できない。 $ mysql -u root -h localhost mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> USE mysql; Database changed mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'BBBBBBB'; Query OK, 0 rows affected (0.06 sec) mysql> quit Bye ### 確認 $ mysql -u root --password='BBBBBBB' mysql>
所々不要そうだけど
chownをするところはいらないんじゃないかなーと思うけど、手順としてはやってみたので、書いておいた。