Как часть нашего процесса сборки, мы используем утилиту mysqldiff
(вызванную из maven) для проверки наших сценариев миграции базы данных, сравнивая только что созданную копию схемы с версией схемы, созданной из базовой линии, плюс нашу Скрипт миграции. Это все прекрасно работает с MySQL 5.7.
Мы ожидаем обновления до MySQL 8.0.13. Пользователь базы данных настроен на использование mysql_native_password
. Когда мы запускаем нашу сборку, мы получаем эту ошибку от mysqldiff
:
ERROR: Authentication plugin 'caching_sha2_password' is not supported
Мы понимаем, что эта ошибка связана с тем, что утилита использует старую версию mysql-python-connector. Мы также понимаем, что ответ может быть таким же простым, как обновление версии соединителя, но мы не знаем, как это сделать.
Утилиты MySQL можно найти по адресу https://github.com/mysql/mysql-utilities.
В Windows 10 мы устанавливаем с помощью установщика Oracle для Windows. В Amazon Linux мы устанавливаем с yum.
Примечание:
- Утилиты MySQL, по-видимому, основаны на встроенной установке python2.7 (у нас нет автономного python, установленного ни на одной из машин разработки или сборки).
- У нас нет опыта работы с Python, поэтому подробные шаги будут полезны, если мы будем работать со встроенным Python.
- Нам нужно решить эту проблему как в Windows 10, так и в Amazon Linux.
Как обойти эту ошибку, чтобы мы могли использовать mysqldiff с сервером MySQL 8.0.13 в Windows 10 и Amazon Linux?
Если ответ просто обновить разъем, каковы подробные шаги для этого?
Есть ли какие-либо изменения в установке / конфигурации сервера, которые мы можем внести для поддержки клиентов, подключающихся со старыми драйверами?