The issue you're encountering is due to the MariaDB driver dropping support for the "jdbc:mysql:" URI format unless additional parameters are included in the URI:
https://mariadb.com/kb/en/about-mariadb-connector-j/#jdbcmysql-scheme-compatibility The above affects the MariaDB driver from 3.0 onward. The MySQL version of the driver should work as expected, as should older versions of the MariaDB driver. - Mike On Wed, Mar 8, 2023 at 8:29 AM Alessandro Sironi <[email protected]> wrote: > Hi David, > > I have no experience with Ubuntu and maria db connector, but I run w/out > any issue Guacamole on Debian 11 with MariaDB using MySQL connector, you > could try to use it instead of MariaDB connector. > > Alessandro > Il 08/03/2023 17:12, David Ramirez ha scritto: > > Good morning/afternoon/night to you all! > I am writing this as I believe it is a very silly mistake but I am not > savvy enough on Guacamole+Tomcat to identify the issue. > I had a standalone Guacamole 1.4.0 Installation which is reachable through > a NGINX Reverse Proxy. The access to Guacamole was using local > authentication with the user-mapping.xml user definition file and it worked. > > I've followed all the steps on the documentation to upgrade and install > Guacamole Server on Ubuntu 20.04. > * I have made my guacamole Install by compiling it from source code on > 1.5.0. It compiles and installs ok. > * Guacamole installed as root <-- I know I have to correct this at some > point in the future. > * Same access through NGINX > * I am using init.d start scripts managing it as a legacy systemctl unit. > * Guacamole home is /etc/guacamole as default > * I decided to use mariadb instead of MySQL, so I installed it using the > tutorial from DigitalOcean at: > https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-20-04 > * I have downloaded the JDBC extension package at: > https://apache.org/dyn/closer.lua/guacamole/1.5.0/binary/guacamole-auth-jdbc-1.5.0.tar.gz?action=download > * I have placed this extension at /etc/guacamole/extensions > * I created the database per the instructions on the manual. > * I downloaded the DB connector for MariaDB at: > https://mariadb.com/kb/en/about-mariadb-connector-j/ > * I placed the connector at /etc/guacamole/lib > * Here is my guacamole.properties file contents: > guacd-hostname: localhost > guacd-port: 4822 > # MariaDB/MySQL properties > mysql-hostname: localhost > mysql-database: guacamole_db > mysql-username: guacamole_user > mysql-password: somepassword > mysql-driver: mariadb > ** I added the driver definition to mariadb > * Restarted tomcat 9 > > When I try to login to guacamole I see an error that the action could not > be completed and contact the administrator. > So, it is an error with the DB connector. When looking at: > /va/log/tomcat9/catalina.out here is the output: > [2023-03-08 16:03:47] [info] 16:03:47.527 [http-nio-8080-exec-10] 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. > [2023-03-08 16:03:47] [info] 16:03:47.527 [http-nio-8080-exec-10] ERROR > o.a.g.rest.RESTExceptionMapper - Unexpected internal error: > [2023-03-08 16:03:47] [info] ### Error querying database. Cause: > java.sql.SQLException: No suitable driver found for > jdbc:mysql://localhost:3306/guacamole_db > [2023-03-08 16:03:47] [info] ### The error may exist in > org/apache/guacamole/auth/jdbc/user/UserMapper.xml > [2023-03-08 16:03:47] [info] ### The error may involve > org.apache.guacamole.auth.jdbc.user.UserMapper.selectOne > [2023-03-08 16:03:47] [info] ### The error occurred while executing a query > *[2023-03-08 16:03:47] [info] ### Cause: java.sql.SQLException: No > suitable driver found for jdbc:mysql://localhost:3306/guacamole_db* > > It is CLEAR as light that Tomcat9 is unable to read/reach the mariadb > connector. But for the love of me, I can't find why tomcat9 is unable to > read/reach the connector at /etc/guacamole/lib > /etc/guacamole is owned by root with group root with permissions > rwx,r-x,r-x which I believe is correct. Beyond that I do not know what may > be wrong. > I really believe this is a very simple mistake that I am overseeing. > Any help would be really appreciated! > Regards, > David. > >
