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.
>
>

Reply via email to