- Hardware or environment you use: Railway PaaS Platform (using their 8GB RAM / 8 vCPU plan) with Railway’s managed MySQL 8+ database service.
- SeaTable Edition: Enterprise
- SeaTable Version (only necessary for self-hosted): Tried versions
latest
,5.2.7
,5.1.9
. Currently attempting with **
Error/Question
SeaTable Enterprise fails to start correctly because internal components cannot authenticate with the managed MySQL 8+ database provided by Railway.
The core problem is an authentication method incompatibility:
- The Railway MySQL 8+ server requires clients to use
caching_sha2_password
. - Crucially, this managed MySQL service does not have the
mysql_native_password
plugin loaded or available. Attempts to switch the user fail (see error below). - SeaTable’s internal components (including Seafile, dtable-web, dtable-events) appear unable to handle
caching_sha2_password
, failing with errors indicating the plugin cannot be loaded or is missing (see errors below).
Since changing the server-side authentication to mysql_native_password
is impossible in this environment (due to Error 1524), I need to find a way for the SeaTable client components to successfully authenticate using caching_sha2_password
.
My question is: How can SeaTable Enterprise be configured
- via environment variables,
- specific image version,
- or other means
to successfully connect to a MySQL 8+ database that requirescaching_sha2_password
and wheremysql_native_password
is unavailable?
Commands executed
Attempted to change the MySQL user’s authentication method via MySQL Workbench (which failed):
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '********';
Error Messages:
1. Error from MySQL Server when trying ALTER USER
:
Error Code: 1524. Plugin ‘mysql_native_password’ is not loaded
2. Example errors from SeaTable’s internal logs (e.g., seafile.log
, dtable-events.log
):
- From
seafile.log
:
Failed to connect to MySQL: Plugin caching_sha2_password could not be loaded: /usr/lib/mariadb/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
- Example from Python/SQLAlchemy components (like
dtable-events.log
):`
(MySQLdb.OperationalError) (2059, "Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib/mariadb/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory")
(Background on this error at: https://sqlalche.me/e/20/e3q8)
.
.
Thanks for your help!
I hope someone has had a similar experience and can contribute something.
Thank you very much in advance for your attention to this message.