I got a new Mac at work, fresh install of Mathematica v13.3 (old 2015 Mac is dying and has v11.3).
Problem: In v13.3 I cannot connect to older mySQL databases, using v13's JDBC driver (
org.mariadb.jdbc.Driver); however, in v11.3 on my old Mac there is
com.mysql.jdbc.Driver which works fine.
The error I get is
Client does not support authentication protocol requested by server. plugin type was = ''
which appears to be related to the database's outdated security protocol. (Various articles/knowledgebase confirm that this error can be corrected by using the proper older version.)
I have also tried to use a single
mysql.m with the driver file that should be compatible with the old database (
mysql-connector-java-3.0.10-stable-bin.jar) and also tried with
mysql-connector-java-5.1.38-bin.jar as well as with the current standard mySQL driver
mysql-connector-j-8.1.0.jar. These are the stable versions from Oracle which correspond to different eras, with either 3.0.10 or 5.1.38 corresponding to the drivers which old Mathematica (v10, v11) that had connected ok with my old databases.
In all these cases, I still get the same error.
I have additionally tried to use
AddToClassPath with the
Prepend -> True option, but still get the same authentication protocol error.
So it would be helpful to know:
- What JDBC mySQL driver was shipped with v11.3, or how could I directly copy/replicate its installation in v13.3?
- How does one associate a particular
.mfile with a particular
.jardriver in Mathematica? I know which respective directories to put these into (e.g., DatabaseResources and Java respectively under ~/Library/Mathematica/Applications/Oracle/), and need to make a
mysql.mfile for them, but how do I ensure that a given
DatabaseResourcessubdirectory points to the proper
mysql-connector-java.XX.jarin the Java subdirectory?
The documentation and online Mathematica groups do not give this info, and I have gone back and forth with Wolfram support for weeks, whom just finally advised to "just install the old version", without answering the above 2 questions!
Could somebody out there help me? [I am unable to continue with some work without solving this problem.]