
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