У меня есть Perl-скрипт, который получает данные из базы данных MySQL на одном сервере (назовем это server1), что-то делает с ним и записывает их в другую базу данных на другом сервере (server2). Оба сервера удалены от сервера, на котором выполняется скрипт Perl.
Я могу подключиться к БД на сервере1 ОК, но когда я пытаюсь подключиться к БД на сервере2, используя тот же метод DBI, я получаю сообщение об ошибке. Здесь, как и в командной строке Perl, есть бит, который вызывает ошибку:
perl -MDBI -e 'DBI->connect("DBI:mysql:myDB:server2.whatever.co.uk","myuser","mypassword") or die DBI->errstr;'
А вот и сообщение об ошибке:
DBI connect('myDB:server2.whatever.co.uk','myuser',...) failed: Client does not support authentication protocol requested by server; consider upgrading MySQL client at -e line 1
Client does not support authentication protocol requested by server; consider upgrading MySQL client at -e line 1.
У меня нет доступа с правами root, поэтому я не могу обновить MySQL и не могу изменить пароль для использования старого алгоритма хеширования пароля, который является решением, предлагаемым во многих местах.
Идеи кому-нибудь?