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

Reply via email to