失敗談 技術

Ubuntu 20.04のMySQL8.0.22でrootパスワードをリセットする

投稿日:

小ネタです。

休みなので

久しぶりにローカル環境の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をするところはいらないんじゃないかなーと思うけど、手順としてはやってみたので、書いておいた。

-失敗談, 技術

執筆者:

関連記事

unconstant – perlライブラリ

ちょっとだけperlの機能修正をしたので、そのときに使用したライブラリについて書こうと思います。 perlのunconstant です。 use constantの解除 use constantとは固 …

「Python3 メモ」 独自例外クラスからの値取得/変数の内容取得

忙しい。。 この時期でなぜか忙しく、ブログ書いてる暇ない。。のでメモ書き程度。そして、内容をよく忘れるやつ。。 python3の独自例外クラス 例外クラスからの値取得方法をいつも忘れます。ある関数or …

言語別ログイン機能パスワード保存処理方針

ちょっと前に、ログイン機能を作成した際、パスワードを暗号化するか、という議論を目にしたことがありました。 昔だと、「パスワードを暗号化しない」方で実装していましたが、最近はセキュリティが当たり前になっ …

Python3 – VCR.py でネットワーク系テストを簡単に作成する

1. 始めに python3で実装すると、モックテストをしたくなります。モックを使って、比較的簡単にテストできるからです。 問題はネットワーク系テスト モックテストで問題になるのは、外部に依存するテス …

PythonでPKCS#12を使用して暗号/復号する

1. はじめに 仕事でVPN関係のシステム開発をすることになりました。まずは暗号機能の基本を思い出すため、Pythonで、PKCS#12の公開鍵で暗号、秘密鍵で復号するプログラムを作ってみようと思いま …

    google オプトアウト Click here to opt-out.