Thanks a lot for the quick response to all!
Michael, that was indeed the problem. Once I downloaded the latest version
of the mysql_j client (as of March 8th, 2023 is version 8.0.32) I was able
to use the DB authentication.
I would like to suggest for this known issue to be documented on the
installation guide. What would be the right place to ask for this change so
I can upload the request?
Thanks a lot again for your help!
Regards,
David

On Wed, Mar 8, 2023 at 11:17 AM Michael Jumper <[email protected]> wrote:

> 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