Dynmap-Forge/Fabric

Dynmap-Forge/Fabric

888k Downloads

MySQL prompting errors with SSL

Gravydigger opened this issue ยท 4 comments

commented

Hello, while running Dynmap v3.0-beta-10 on my server, I keep getting an error:

[Server] Dynmap Render Thread/WARN Mon Apr 06 04:08:30 PDT 2020 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

Due to the new MYSQL update, is there an option to set useSSL to false?
Thanks!

commented

webbukkit/DynmapCore#90

I've seen this issue for 3 years, surprise there is nothing update on this topic,
we're still stuck at useSSL.

commented

Something new, here it is:

[INFO] [Server thread/WARN]: Mon Apr 06 20:52:33 CST 2020 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
[INFO] [Server thread/WARN]: [AutoSaveWorld] Plugin dynmap attempted to establish connection socket://localhost:3306 in main server thread
[INFO] [Server thread/WARN]: Mon Apr 06 20:52:33 CST 2020 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
[INFO] [Server thread/ERROR]: [dynmap] Error creating tables - Unable to load authentication plugin 'caching_sha2_password'.
[INFO] [Server thread/ERROR]: [dynmap] Map storage initialization failure
[INFO] [Server thread/INFO]: [dynmap] Unloaded 0 components.
[INFO] [Server thread/INFO]: [dynmap] Disabled

I have settings:

storage:
  type: mysql
  hostname: localhost
  port: 3306
  database: dynmap
  userid: dynmap
  password: dynmap
  #prefix: ""
  flags: "?allowReconnect=true?useSSL=false"

Perhaps the useSSL=false already submit, so caching_sha2_password is the new.
I'll give you a hint, delete these config lines and forget everything about SQL,
just use type: filetree.

They are not "creating problems", they ARE the problems.

commented

@Gravydigger

storage:
  type: mysql
  hostname: localhost
  port: 3306
  database: dynmap?allowReconnect=true?useSSL=false
  userid: dynmap
  password: dynmap
  #prefix: ""
  flags: ""

You can use this very cursed workaround to enable MySQL,
notice the database section and the flags section,
one is database name plus ?allowReconnect=true?useSSL=false,
another is just empty string.

Then to avoid caching_sha2_password, use MySQL console client to connect,
then try:

ALTER USER 'dynmap'@'localhost' IDENTIFIED WITH mysql_native_password BY 'dynmap';

The first dynmap is your dynmap username and the 2nd is password.
If no error with 0 row affected, boot the server again to see if you can enable MySQL.

commented

I say "cursed" because assume you run this inside a strong encrypted
private networks such as VPN or LAN with firewall enabled plus bind to 127.0.0.1.

Such workaround will reduce many secure features
then may result in hacked by someone.