Can't connect to MySQL DB

Hi all
While trying to connect to MySQL DB I’m getting following error:
java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=172.17.0.1)(port=3306)(type=master) : Client does not support authentication protocol requested by server. plugin type was = ‘caching_sha2_password’

Metabase runs in a docker container and MySQL runs on the host.
I had same configuration on another host and it worked just fine (same auth plugin). It’s just version on working system was v0.36.4 (faulty one has v0.36.6)

MySQL server logs show nothing. What else can I check?

{
  "browser-info": {
    "language": "cs",
    "platform": "Win32",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0",
    "vendor": ""
  },
  "system-info": {
    "file.encoding": "UTF-8",
    "java.runtime.name": "OpenJDK Runtime Environment",
    "java.runtime.version": "11.0.8+10",
    "java.vendor": "AdoptOpenJDK",
    "java.vendor.url": "https://adoptopenjdk.net/",
    "java.version": "11.0.8",
    "java.vm.name": "OpenJDK 64-Bit Server VM",
    "java.vm.version": "11.0.8+10",
    "os.name": "Linux",
    "os.version": "4.15.0-38-generic",
    "user.language": "en",
    "user.timezone": "GMT"
  },
  "metabase-info": {
    "databases": [
      "mysql",
      "mongo"
    ],
    "hosting-env": "unknown",
    "application-database": "h2",
    "application-database-details": {
      "database": {
        "name": "H2",
        "version": "1.4.197 (2018-03-18)"
      },
      "jdbc-driver": {
        "name": "H2 JDBC Driver",
        "version": "1.4.197 (2018-03-18)"
      }
    },
    "run-mode": "prod",
    "version": {
      "date": "2020-09-15",
      "tag": "v0.36.6",
      "branch": "release-0.36.x",
      "hash": "cb258fb"
    },
    "settings": {
      "report-timezone": "Europe/Berlin"
    }
  }
}

Hi @ralfeus
Are you trying to connect MySQL as a data source or as the application database?
Which version of MySQL?
The working system, was that connecting to the same MySQL server?

The driver was updated in 0.36.6, which is likely the reason for why something is different between 0.36.4

Since I don’t if you’re having problems with data source or application database, and you haven’t provided any logs from Admin > Troubleshooting > Logs, but the workaround is likely the same as listed in this issue (parameter just needs to be applied to Connection String instead, if data source):
https://github.com/metabase/metabase/issues/12545

Thank you. I had allowPublicKeyRetrieval=true set. But weird thing. I’ve restarted Metabase container for 3rd or 4th time and it suddenly works. Weird but problem is gone.

@ralfeus Without the logs, then it’s hard to tell.

By the way, you should migrate away from H2 if you’re using Metabase in production:
https://www.metabase.com/docs/latest/operations-guide/migrating-from-h2.html

I know that, thanks :slight_smile: So far it far from production system, so I leave it at H2