As part of our build process, we use the mysqldiff
utility (invoked from maven) to validate our database migration scripts by comparing a freshly-built copy of the schema to a version of the schema created from a baseline plus our migration script. This all works fine with MySQL 5.7.
We are looking to upgrade to MySQL 8.0.13. The database user has been configured to use mysql_native_password
. When we run our build, we are getting this error from mysqldiff
:
ERROR: Authentication plugin 'caching_sha2_password' is not supported
We understand that this error is due to the fact that the utility is using an old version of mysql-python-connector. We also understand that the answer might be as simple as upgrading the connector version, but we don't know how to go about trying that.
The MySQL Utilities can be found at https://github.com/mysql/mysql-utilities.
On Windows 10, we install using the Oracle windows installer. On Amazon Linux, we install with yum.
NOTE:
- The MySQL Utilities appear to be based on an embedded python2.7 installation (we do not have standalone python installed on any of the development or build machines).
- We do not have python expertise, so detailed steps will be helpful if we are mucking with the embedded python stuff.
- We need to solve this problem both on Windows 10 and Amazon Linux.
How do we work around this error so that we can use mysqldiff with a MySQL 8.0.13 server on Windows 10 and Amazon Linux?
If the answer is simply to upgrade the connector, what are the detailed steps for doing that?
Are there server installation/configuration changes we can make to support clients connecting with old drivers?
python setup.py install
in the project directory. You probably have to apply a bug fix that Oracle has been ignoring (see the bug report as to why you need this). – Unlicensedpackage.py
script in themysql-utilities
distribution to put this all together, then cross your fingers and runpython package.py build
and hope that whatever that outputs can be useful somewhere. And then also install the MS Visual C++ redestributable package. – Unlicensedpackage.py
commands). – Unlicensed