HI

I initially set up Guacamole as follows:

The IP of my docker server is 192.168.10.11

Step 1:sudo docker run --name my-guacd -d guacamole/guacd

Step 2:sudo docker run --name quacamole-mysql -e 
MYSQL_ROOT_PASSWORD=sqlpassword -d --restart unless-stopped mysql:latest

Step 3:sudo docker exec -it guacamole-mysql /bin/bash

mysql -u root -p

CREATE DATABASE guacamole_db;
CREATE USER 'guacamole_user'@'%' IDENTIFIED BY 'guacamopwd';
GRANT ALL PRIVILEGES ON guacamole_db.* TO 'guacamole_user'@'%';
FLUSH PRIVILEGES;

Exit out of the mysql docker

Step 4:

sudo docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > 
initdb.sql

sudo cat initdb.sql | sudo docker exec -i guacamole-mysql /usr/bin/mysql -u 
guacamole_user -pguacamopwd -D guacamole_db

Step 5:

sudo docker run --name my-guacamole \
--link my-guacd:guacd \
--link guacamole-mysql:mysql \
-e WEBAPP_CONTEXT=ROOT \
-e MYSQL_HOSTNAME=192.168.10.11 \
-e MYSQL_DATABASE=guacamole_db \
-e MYSQL_USER=guacamole_user \
-e MYSQL_PASSWORD=pguacamopwd\
-e TOTP_ENABLED=true \
--restart unless-stopped \
-d -p 8080:8080 guacamole/guacamole

Whenever my portainer VM rebooted, Guacamole would not restart. I therefore 
removed quacd are redeployed with --restart always. I did the same for 
guacamole. When I then tried to access the guacamole portal, I got an error. 
"An error has occurred and this action cannot be completed. If the problem 
persists, please notify your system administrator or check your system logs." 
The logs said,
" 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.

09:01:52.386 [http-nio-8080-exec-6] 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.

09:01:52.398 [http-nio-8080-exec-6] ERROR o.a.g.rest.RESTExceptionMapper - 
Unexpected internal error:

### Error querying database.  Cause: java.sql.SQLException: Access denied for 
user 'guacamole_user'@'172.17.0.7' (using password: YES)

### The error may exist in org/apache/guacamole/auth/jdbc/user/UserMapper.xml

### The error may involve 
org.apache.guacamole.auth.jdbc.user.UserMapper.selectOne

### The error occurred while executing a query

### Cause: java.sql.SQLException: Access denied for user 
'guacamole_user'@'172.17.0.7' (using password: YES)

"

I tried re-executing

sudo docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > 
initdb.sql

sudo cat initdb.sql | sudo docker exec -i guacamole-mysql /usr/bin/mysql -u 
guacamole_user -pguacamopwd -D guacamole_db

But got

"Table 'guacamole_connection_group' already exists" when running the second 
line.

I have confirmed that my sql username and password are correct.

What have I done wrong?

André Basel

Reply via email to