Open2

Django REST Framework 学習メモ(Packt)

ちゃんぶーちゃんぶー

実行環境

  • pipenv
$ pipenv --version
pipenv, version 2020.8.13
  • python
$ pipenv run python --version
Python 3.8.3
  • pip
$ pipenv run pip --version
pip 20.2.3 
  • Django : 3.1.3
ちゃんぶーちゃんぶー

MySQL の root パスワード忘れた. ( Homebrew でインストールしていた場合 )

  • セーフモードで起動
$ mysql.server stop
$ /usr/local/bin/mysqld_safe --skip-grant-tables
2020-11-21T07:07:28.6NZ mysqld_safe Logging to '/usr/local/var/mysql/bohelabo.local.err'.
2020-11-21T07:07:28.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql

root パスワードの更新

  • MySQL 5.7以前
update mysql.user set authentication_string=password("new_pass") where user='root';
  • MySQL 8以降
mysql > USE mysql;
mysql > ALTER USER 'root'@'localhost' identified BY 'hoge';

phpMyAdmin などのツールを利用する場合

mysql> select User, Plugin from mysql.user where User = 'root';
+------+-----------------------+
| User | Plugin                |
+------+-----------------------+
| root | caching_sha2_password |
+------+-----------------------+

がデフォルトだが、 phpMyAdmin などは対応していない場合がある(らしい)

  • DB を後方互換のある方式に変更
mysql> ALTER USER 'root'@'localhost' identified WITH mysql_native_password BY 'root';
Query OK, 0 rows affected (0.01 sec)

「mysql_native_password」は後方互換性のある認証のようです。

同様に「my.cnf」にも書き込んでおく必要がある

/usr/local/etc/my.cnf
[mysqld]

# これがないと、デフォルトは、caching_sha2_password
default_authentication_plugin=mysql_native_password

参考


MySQL8でユーザーのパスワードの変更 / リセット方法
No default my.cnf #30286 - Github