Hi,

I have Guacamole servers running on Rocky Linux 8. To date they have been 1.5.4 but I have also upgraded one of them to 1.5.5 to see if the issue persists, and it does.

I am running the standard mariadb-server install on Rocky, and have installed the latest mariadb java client files from the AppStream repository. I have separately downloaded the latest java connector jar from the MariaDB web site.

Installed Packages
mariadb.x86_64                        3:10.5.22-1.el9_2
mariadb-backup.x86_64                 3:10.5.22-1.el9_2
mariadb-common.x86_64                 3:10.5.22-1.el9_2
mariadb-connector-c.x86_64            3.2.6-1.el9_0
mariadb-connector-c-config.noarch     3.2.6-1.el9_0
mariadb-connector-odbc.x86_64         3.1.12-3.el9
mariadb-errmsg.x86_64                 3:10.5.22-1.el9_2
mariadb-gssapi-server.x86_64          3:10.5.22-1.el9_2
mariadb-java-client.noarch            3.0.3-1.el9
mariadb-server.x86_64                 3:10.5.22-1.el9_2
mariadb-server-utils.x86_64           3:10.5.22-1.el9_2

I am trying to switch from the mysql to the mariadb connector.

In my libs folder I have both
mysql-connector-j-8.0.32.jar
mariadb-java-client-3.3.3.jar

In my guacamole.properties file I have
# MySQL properties
mysql-hostname: localhost
mysql-port: 3306
mysql-database: <guacdb>
mysql-username: <guacuser>
mysql-password: <guacpassword>
mysql-driver: mysql
# mysql-driver: mariadb

Everything works correctly with the driver set to mysql.

However, if I change the comment on the last two lines to switch to the mariadb driver, and restart tomcat, then I get the following error when connecting to Guacamole

ERROR
An error has occurred and this action cannot be completed. If the problem persists, please notify your system administrator or check your system logs.

No errors in catalina or localhost tomcat logs.

/var/log/messages has
Apr 8 12:47:55 apps9 server[1121541]: 12:47:55.314 [http-nio-8080-exec-6] DEBUG o.a.i.t.jdbc.JdbcTransaction - Opening JDBC Connection Apr 8 12:47:55 apps9 server[1121541]: 12:47:55.314 [http-nio-8080-exec-6] DEBUG o.a.g.a.j.DynamicallyAuthenticatedDataSource - Creating new database connection for pool. Apr 8 12:47:55 apps9 server[1121541]: 12:47:55.314 [http-nio-8080-exec-6] WARN o.a.g.e.AuthenticationProviderFacade - The "mysql" authentication provider has encountered an internal error which will halt the authentication process. If this is unexpected or you are the developer of this authentication provider, you may wish to enable debug-level logging. If this is expected and you wish to ignore such failures in the future, please set "skip-if-unavailable: mysql" within your guacamole.properties. Apr 8 12:47:55 apps9 server[1121541]: 12:47:55.314 [http-nio-8080-exec-6] ERROR o.a.g.rest.RESTExceptionMapper - Unexpected internal error: Apr 8 12:47:55 apps9 server[1121541]: ### Error querying database. Cause: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/<guacdb> Apr 8 12:47:55 apps9 server[1121541]: ### The error may exist in org/apache/guacamole/auth/jdbc/user/UserMapper.xml Apr 8 12:47:55 apps9 server[1121541]: ### The error may involve org.apache.guacamole.auth.jdbc.user.UserMapper.selectOne Apr 8 12:47:55 apps9 server[1121541]: ### The error occurred while executing a query

I would have expected that given that I have switched my config to mariadb - the JDBC string generated by guacamole would be
jdbc:mariadb://localhost:3306/<guacdb>
rather than
jdbc:mysql://localhost:3306/<guacdb>

Could that be the source of the issue?

Have I missed configuring something else?

Thanks
Vincent

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to