MySQLdbでAccess denied for user ‘root’@’localhost’エラーになった時

結論

$ sudo mysql -u root # I had to use "sudo" since is new installation

mysql> USE mysql;
mysql> CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED BY '';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'YOUR_SYSTEM_USER'@'localhost';
mysql> UPDATE user SET plugin='auth_socket' WHERE User='YOUR_SYSTEM_USER';
mysql> FLUSH PRIVILEGES;
mysql> exit;

$ service mysql restart

概要

sqlalchemyを使っていました。PythonのウェブフレームワークCherryPyで使えるORMですね。sqlalchemyからUbuntu18.4の中のMySQLに繋ごうとしたら下記のようなエラーが出ました

Access denied for user 'root'@'localhost'

それを解決したのが一番上のコードでした。

参考

https://stackoverflow.com/questions/39281594/error-1698-28000-access-denied-for-user-rootlocalhost

藤沢瞭介(Ryosuke Hujisawa)
  • りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

未整理記事