失敗談 技術

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

-失敗談, 技術

執筆者:

関連記事

Pipenvでライブラリ(*.whl)をキャッシュする方法

仕事でWebアプリケーションを作成した場合、ガンガンとライブラリのバージョンを上げたりはしない場合があります。 そして、長期間放置されるタイプのWebアプリケーションの場合、使用しているライブラリが、 …

seaborn + Pandas + Python によるグラフ描画(その2: グラフ描画編)

前回の続き 前回の続きです。 折れ線グラフ まずは折れ線グラフを描画したいと思います。 描画するのは以下です。 運用商品(4つ)日経平均 以下で起動します。引数(dataset-2017-201908 …

リモート実家帰りしてみる

このご時世、実家には直接帰れないけど、1月には一応実家帰り的な感じでリモート実家帰りをしようかと思いました。 リモートは大変。。 一応実家には自分で設置したインターネットや無線LANがあるので、Zoo …

暗号モードによる処理時間の違いを測定してみた

はじめに 前回、AESで暗号化する実装をしてみた際、知らない暗号モードが増えたなと思いました。 なので、どの暗号モードを使用すべきかの、判定材料の一つとして、代表的な暗号モードの処理速度を簡単に計って …

新規プロジェクト参入時に考えること

派遣における労働条件 就業予定時間(変形労働時間やフレックスタイム制の適用を含む)残業の有無と量就業場所(交通ルート、オフィスの配置等)業務の継続予定期間 制服の有無 (背広かどうか)福利厚生施設の有 …