[
https://issues.apache.org/jira/browse/GUACAMOLE-965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17041241#comment-17041241
]
Mike Jumper commented on GUACAMOLE-965:
---------------------------------------
Nothing has changed within Guacamole with respect to how connections are
established to a database. The hostname, port, etc. are simply passed to the
JDBC driver, which then establishes a normal TCP connection. If the MySQL
driver claims it cannot connect to the MySQL database, that's probable exactly
what's happening. There may be something wrong with the way the networking is
configured surrounding your docker daemon, containers, etc.
Trying this myself (same exact commands as you have listed), everything works
just fine.
> Communications link failure between java client and mysql
> ---------------------------------------------------------
>
> Key: GUACAMOLE-965
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-965
> Project: Guacamole
> Issue Type: Bug
> Components: guacamole, guacamole-auth-jdbc-mysql
> Affects Versions: 1.1.0
> Environment: centos 8 on esxi 6.7
> Reporter: Vincent
> Priority: Minor
>
> on a fresh install of Centos 8
> deployed guacamole, guacd and mysql docker containers using following
> command line
> {code:java}
> docker run --name infra2020-mysql -e MYSQL_ROOT_PASSWORD='xxx' -e
> MYSQL_DATABASE=guacdb -e MYSQL_USER=guacdb -e MYSQL_PASSWORD=yyyy -d mysql
> docker run --name infra2020-guacd -e GUACD_LOG_LEVEL=debug -d guacamole/guacd
> docker run --name infra2020-guacamole --link infra2020-guacd:guacd --link
> infra2020-mysql:mysql -e MYSQL_DATABASE=guacdb -e MYSQL_USER=guacdb -e
> MYSQL_PASSWORD=yyyy -d -p 8080:8080 guacamole/guacamole{code}
> all containers start well, initdb.sql was properly executed (i have checked
> into the tables)
> mysql guacdb database can be accessed through command line
>
> {code:java}
> mysql -h 172.17.0.4 --protocol=tcp -u guacdb -pyyyy -D guacdb
> Mysql> select * from guacamole_user_permission ;
> 3 rows in set (0.01 sec)
> {code}
>
>
> but when i tried to connect to the guacamole client, i got the follow error
> displayed in the browser
>
> {noformat}
> "An error has occurred and this action cannot be completed. If the problem
> persists, please notify your system administrator or check your system logs."
> {noformat}
> and the only log available is the guacamole container (extract from docker
> logs)
>
> {code:java}
> 13:04:17.774 [http-nio-8080-exec-2] 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.
> 13:04:17.774 [http-nio-8080-exec-2] ERROR o.a.g.rest.RESTExceptionMapper -
> Unexpected internal error:
> ### Error querying database. Cause:
> com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link
> failure
> The last packet sent successfully to the server was 0 milliseconds ago. The
> driver has not received any packets from the server.
> ### 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: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:
> Communications link failure
> The last packet sent successfully to the server was 0 milliseconds ago. The
> driver has not received any packets from the server.
> {code}
>
> i have tested starting the container without link but providing
> mysql_hostname / port with no more success and same error
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)