PyMySQL/mysqlclient

'mysql_native_password' cannot be loaded

Closed this issue · 0 comments

I conda installed the latest mysqlclient (version 2.2.7); I connect to MySQL server 5.7

The connection error is:

MySQLdb.OperationalError: (2059, "Authentication plugin 'mysql_native_password' cannot be loaded: /home/docker/conda/lib/plugin/mysql_native_password.so: cannot open shared object file: No such file or directory")

My MySQL server is version 5.7
mysql Ver 14.14 Distrib 5.7.37, for Linux (x86_64) using EditLine wrapper

The account I use already has native password turned on

+------+-------------+-----------------------+
| Host | User        | plugin                |
+------+-------------+-----------------------+
| %    | cheminfo_rw | mysql_native_password |
+------+-------------+-----------------------+

I did research, most of them suggest to turn on native password on the server side, which is already the case.
The error message suggests MySQLdb is looking for mysql_native_password.so on the client side.

According to MySQL page https://dev.mysql.com/doc/refman/8.4/en/native-pluggable-authentication.html
native password should be supported by "The client-side plugin is built into the libmysqlclient client library and is available to any program linked against libmysqlclient."

Any recommendation on what we should try next? Thank you in advance.