So I’m still fighting this. I found an article where the user said they put
the connector in the guacamole lib folder and all was good. So I put the
mysql-connector-j-8.2.0.jar file under /usr/share/tomcat/.guacamole/lib,
changed ownership to tomcat:tomcat, and restarted Tomcat. I don’t get the JDBC
driver error any more, but I do get the following in /var/log/messages, and the
web interface shows an error:
Jan 22 13:21:46 guac-test server[416800]: 13:21:46.637 [main] INFO
o.a.g.extension.ExtensionModule - Extension "MySQL Authentication" (mysql)
loaded.
Jan 22 13:21:46 guac-test server[416800]: 13:21:46.770 [main] WARN
o.a.g.e.LanguageResourceService - Overlay language resource "de" does not exist.
Jan 22 13:21:46 guac-test server[416800]: 13:21:46.772 [main] INFO
o.a.g.extension.ExtensionModule - Extension "LDAP Authentication" (ldap) loaded.
Jan 22 13:21:46 guac-test server[416800]: 13:21:46.792 [main] INFO
o.a.g.extension.ExtensionModule - Extension "Guac-Test" (tsose) loaded.
Jan 22 13:21:46 guac-test server[416800]: 13:21:46.863 [main] INFO
o.a.g.t.w.WebSocketTunnelModule - Loading JSR-356 WebSocket support...
Jan 22 13:21:47 guac-test server[416800]: 22-Jan-2024 13:21:47.534 INFO [main]
org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application
archive [/var/lib/tomcat/webapps/guacamole.war] has finished in [3,327] ms
Jan 22 13:21:47 guac-test server[416800]: 22-Jan-2024 13:21:47.536 INFO [main]
org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
["http-nio-8080"]
Jan 22 13:21:47 guac-test server[416800]: 22-Jan-2024 13:21:47.553 INFO [main]
org.apache.catalina.startup.Catalina.start Server startup in [3384] milliseconds
Jan 22 13:22:00 guac-test server[416800]: Loading class
`com.mysql.jdbc.Driver'. This is deprecated. The new driver class is
`com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI
and manual loading of the driver class is generally unnecessary.
Jan 22 13:22:00 guac-test server[416800]: 13:22:00.308 [http-nio-8080-exec-7]
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.
Jan 22 13:22:00 guac-test server[416800]: 13:22:00.312 [http-nio-8080-exec-7]
ERROR o.a.g.rest.RESTExceptionMapper - Unexpected internal error:
Jan 22 13:22:00 guac-test server[416800]: ### Error querying database. Cause:
java.sql.SQLSyntaxErrorException: Table 'guacamole.guacamole_user' doesn't exist
Jan 22 13:22:00 guac-test server[416800]: ### The error may exist in
org/apache/guacamole/auth/jdbc/user/UserMapper.xml
Jan 22 13:22:00 guac-test server[416800]: ### The error may involve
defaultParameterMap
Jan 22 13:22:00 guac-test server[416800]: ### The error occurred while setting
parameters
Jan 22 13:22:00 guac-test server[416800]: ### SQL: SELECT
guacamole_user.user_id, guacamole_entity.entity_id,
guacamole_entity.name, password_hash, password_salt,
password_date, disabled, expired,
access_window_start, access_window_end, valid_from,
valid_until, timezone, full_name,
email_address, organization, organizational_role,
MAX(start_date) AS last_active FROM guacamole_user JOIN
guacamole_entity ON guacamole_user.entity_id = guacamole_entity.entity_id
LEFT JOIN guacamole_user_history ON guacamole_user_history.user_id =
guacamole_user.user_id WHERE guacamole_entity.name = ?
AND guacamole_entity.type = 'USER' GROUP BY
guacamole_user.user_id, guacamole_entity.entity_id; SELECT
guacamole_user_attribute.user_id,
guacamole_user_attribute.attribute_name,
guacamole_user_attribute.attribute_value FROM guacamole_user_attribute
JOIN guacamole_user ON guacamole_user.user_id =
guacamole_user_attribute.user_id JOIN guacamole_entity ON
guacamole_user.entity_id = guacamole_entity.entity_id WHERE
guacamole_entity.name = ? AND guacamole_entity.type = 'USER'
Jan 22 13:22:00 guac-test server[416800]: ### Cause:
java.sql.SQLSyntaxErrorException: Table 'guacamole.guacamole_user' doesn't exist
Thoughts?
Thanks,
Harry
From: Devine, Harry (FAA) <[email protected]>
Sent: Wednesday, January 17, 2024 12:57 PM
To: [email protected]
Subject: RE: Issue logging in locally as guacadmin on new install
I have guacamole-auth-jdbc-mysql-1.5.4.jar and guacamole-auth-ldap-1.5.4.jar
under /etc/guacamole/extensions, and mysql-connector-j-8.2.0.jar under
/etc/guacamole/lib. Is this not the correct locations?
Thanks,
Harry
From: Nick Couchman
<[email protected]<mailto:[email protected]>>
Sent: Wednesday, January 17, 2024 11:26 AM
To: [email protected]<mailto:[email protected]>
Subject: Re: Issue logging in locally as guacadmin on new install
On Wed, Jan 17, 2024 at 10:23 AM Vincent Sherwood
<[email protected]<mailto:[email protected]>> wrote:
We have mysql-connector-j-8.0.32.jar on our system and it works great with
MariaDB 10.5.22
Note: we didn't install from an RPM but rather just downloaded and copied the
jar file directly into /etc/guacamole/lib/ - perhaps guacamole is not finding
the jar file where the RPM installs it.
Yeah, depending on where the RPM drops the library, and how Tomcat has been
installed, the MySQL JDBC driver may not be found by default. Linking it in
/etc/guacamole/lib is definitely the best way to make sure Guacamole can find
it.
-Nick