1

Basically I can't get Unicenta opos to connect to a fresh install of mysql server on Debian 11. I have set up a user and granted privileges in mysql, created a new database named MAINDB and for some reason Unicenta won't make it connect....

Both the mysql-server and Unicenta run on the same machine.

a bit more info :

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.7.36, for Linux (x86_64) using  EditLine wrapper

Connection id:          19
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.7.36 MySQL Community Server (GPL)
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /var/run/mysqld/mysqld.sock
Uptime:                 1 hour 34 min 44 sec

Threads: 1  Questions: 105  Slow queries: 0  Opens: 143  Flush tables: 1  Open tables: 136  Queries per second avg: 0.018

Unicenta settings :

Unicenta Settings

Error Dialog :

Error Dialog

More info from error message dialog box :

com.openbravo.basic.BasicException: Unable to connect to your Database Server!
    Please check User and Password credentials are correct
    The User must exist on your Database Server

    com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

    The last packet successfully received from the server was 60 milliseconds ago. The last packet sent successfully to the server was 55 milliseconds ago.

    javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

OS info (hostnamectl): Operating System: Debian GNU/Linux 11 (bullseye) Kernel: Linux 5.10.0-8-amd64 Architecture: x86-64

I had run the

GRANT ALL PRIVILEGES * . * ON 'unipos'@'localhost';

and

FLUSH PRIVILEGES;

after creating the 'unipos' user in mysql.

mysql> SHOW GRANTS FOR unipos;
ERROR 1141 (42000): There is no such grant defined for user 'unipos' on host '%'
mysql> select host from mysql.user
    -> ;
+-----------+
| host      |
+-----------+
| localhost |
| localhost |
| localhost |
| localhost |
+-----------+
4 rows in set (0.00 sec)

The below is from mysql's error log file in /var/log/mysql/error.log

    Version: '5.7.36'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server (GPL)
2021-11-09T16:39:31.970790Z 2 [Note] Bad handshake
2021-11-09T16:39:31.981642Z 3 [Note] Bad handshake

I am guessing, there is a compatibility issue between the versions of Unicenta and mysql, however, I can't find any information on it. It is worth mentioning, that if I change the user credentials to the 'root' user in Unicenta setup screen nothing changes.

I can also connect to the database using the mysql command client with the 'unipos' user credentials :

jr91@Luke-deb:~$ mysql -h localhost -u unipos -p MAINDB 
Enter password: 
Welcome to the MySQL monitor. 
Commands end with ; or \g. 
Your MySQL connection id is 53 Server version: 5.7.36 MySQL Community Server (GPL)

Any ideas ?

From what I have found I know that Unicenta works well with mysql 5.7.33, but this is not supported by Debian 11 (bullseye), not sure if that can cause the problem....

1 Answer 1

0

This is a compatibility problem between Java and MySQL. A temporary fix is to edit the java.security file of your Java installation. You can find the solution here on StackOverflow in the first answer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.