Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iRODS + MariaDB setup fails when using the MySQL 9.1 ODBC driver #237

Open
korydraughn opened this issue Dec 4, 2024 · 0 comments
Open
Labels
bug Something isn't working

Comments

@korydraughn
Copy link
Contributor

MariaDB doesn't appear to like the MySQL 9.1 ODBC driver. Notice the error message about mysql_native_password.

Database Port: 3306
Database Name: ICAT
Database User: irods
-------------------------------------------

Please confirm [yes]: 
2024-12-04 16:24:53,512 - Warning: Cannot control echo output on the terminal (stdin is not a tty). Input may be echoed.

2024-12-04 16:24:53,547 - Error encountered running setup_irods:
Traceback (most recent call last):
  File "/var/lib/irods/scripts/irods/database_connect.py", line 221, in get_database_connection
    return pyodbc.connect(connection_string, ansi=True)
pyodbc.OperationalError: ('08004', "[08004] [MySQL][ODBC 9.1(a) Driver]Authentication plugin 'mysql_native_password' cannot be loaded: /usr/local/mysql/lib/plugin/mysql_native_password.so: cannot open shared object file: No such file or directory (2059) (SQLDriverConnect)")

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/var/lib/irods/scripts/setup_irods.py", line 529, in main
    setup_server(irods_config,
  File "/var/lib/irods/scripts/setup_irods.py", line 125, in setup_server
    database_interface.setup_database_config(irods_config)
  File "/var/lib/irods/scripts/irods/database_interface.py", line 176, in setup_database_config
    if database_already_in_use_by_irods(irods_config):
  File "/var/lib/irods/scripts/irods/database_interface.py", line 73, in database_already_in_use_by_irods
    with contextlib.closing(database_connect.get_database_connection(irods_config)) as connection:
  File "/var/lib/irods/scripts/irods/database_connect.py", line 237, in get_database_connection
    raise IrodsError('%s\n%s' % (message, str(e)))
irods.exceptions.IrodsError: pyodbc encountered an error connecting to the database:
('08004', "[08004] [MySQL][ODBC 9.1(a) Driver]Authentication plugin 'mysql_native_password' cannot be loaded: /usr/local/mysql/lib/plugin/mysql_native_password.so: cannot open shared object file: No such file or directory (2059) (SQLDriverConnect)")

I've tried using the MySQL 8.4 ODBC driver and MariaDB 3.2.4 ODBC driver. Neither worked.

@korydraughn korydraughn added the bug Something isn't working label Dec 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Development

No branches or pull requests

1 participant