J'ai un script Perl qui récupère les données d'une base de données MySQL sur un serveur (appelons-le serveur1), le stocke et l'écrit dans une autre base de données sur un autre serveur (serveur2). Les deux serveurs sont distants du serveur qui exécute le script Perl.Problème d'utilisation de Perl pour se connecter à la base de données MySQL sur le serveur distant
Je peux me connecter à la base de données sur le serveur1 OK, mais lorsque j'essaie de me connecter à la base de données sur le serveur2, en utilisant la même méthode DBI, j'obtiens une erreur. Ici, comme la ligne de commande Perl, est le bit qui est à l'origine de l'erreur:
perl -MDBI -e 'DBI->connect("DBI:mysql:myDB:server2.whatever.co.uk","myuser","mypassword") or die DBI->errstr;'
Et voici le message d'erreur:
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.
Je n'ai pas accès root je peux » t mise à niveau MySQL et je ne peux pas changer le mot de passe pour utiliser l'ancien algorithme de hachage de mot de passe, qui est la solution suggérée dans beaucoup d'endroits.
Des idées pour quelqu'un?
En dehors de l'écriture de votre propre client mysql de socket de bas niveau (que je ne recommanderais pas) les 2 options qui vous sont données sont les seules AFAIK. – Wrikken
Ouais, c'est ce que je craignais. Juste en espérant que quelqu'un là-bas sait différent. –