Bonjour,
je cherche à me connecter à une bdd mysql avec dbi.
J'ai réduit l'exemple à sa plus simple expression mais nada:
use DBI;
$dbh = DBI -> connect("dbi:mysql:memoria") or die "Impossible de se
connecter à la base de données : $DBI::errstr\n";
La réponse est :
>perl -w test_crea_mysql.pl
Name "main::dbh" used only once: possible typo at test_crea_mysql.pl line 7.
DBI connect('memoria','',...) failed: Can't connect to MySQL server on
'localhost' (10061) at test_crea_mysql.pl line 7
Impossible de se connecter à la base de données : Can't connect to MySQL
server on 'localhost' (10061)
>Exit code: 255
Je suis sous windows XP SP2, mysql (MySQL v4.1.7) est installé avec tous les
para par défaut, la bdd 'memoria' est créée et comporte deux tables (MySQL
Query Broswer 1.1.1g), une connection et 3 utilisateurs sont disponibles
(MySQL Administrator 1.0.14) en dernières versions, mon firewall est
désactivé durant le test (résultat idem si actif).
DBI 1.45 est installé sur activeperl 5.8.4 810 avec le DBD-mysql 2.9003,
dernières versions trouvées avec ppm.
Débutant :( en perl et mysql, je ne sais pas où tourver l'erreur.
Donc la connexion ne fonctionnera pas s'il n'y a pas un nom d'utilisateur vide sans mot de passe (pas sûr que ça puisse exister en mysql).
Ou il faut préciser le nom d'utilisateur et le mot de passe, comme indiqué dans la doc [2].
Pour aller plus loin :
[1] Source de DBD::mysql http://search.cpan.org/src/RUDY/DBD-mysql-2.9004/lib/DBD/mysql.pm
[2] Doc de DBD::mysql http://search.cpan.org/~rudy/DBD-mysql-2.9004/lib/DBD/mysql.pm#Class_Methods
Bonne chance,
-- Denis
Stéphane Lepolozec
Bonjour,
"Denis -esp2008-" a écrit dans le message de news:
Ou il faut préciser le nom d'utilisateur et le mot de passe, comme indiqué dans la doc [2].
Je suis bien d'accord mais même avec un utilisateur et un mpd je n'y arrive pas. ce que j'ai compris : 1. pour te connecter il faut une connexion -> créée avec query browser : connection = test, username = azerty et password = qwerty, hostname = localhost, port = 3307 2. un utilisateur -> créé avec administrator : mysql user = moi , password = lui
Que dois-je mettre dans la connect dbi ? $dsn = "DBI:mysql:database=$database;host=$hostname;port=$port"; $dbh = DBI->connect($dsn, $user, $password);
En appliquant le script suivant :
use DBI; $dsn = 'DBI:mysql:database=memoria;host7.0.0.1;port307'; $dbh = DBI->connect($dsn, 'moi', 'lui') or die "Impossible de se connecter à la base de données : $DBI::errstrn";
j'obtiens :
perl -w test_crea_mysql.pl Name "main::dbh" used only once: possible typo at test_crea_mysql.pl line 8.
DBI connect('database=memoria;host7.0.0.1;port307','moi',...) failed: Client does not support authentication protocol requested by server; consider upgrading MySQL client at test_crea_mysql.pl line 8 Impossible de se connecter à la base de données : Client does not support authentication protocol requested by server; consider upgrading MySQL client
Exit code: 255
et je vois pas ce que je peux upgrader puisque tout semble être au top... ou est l'erreur?
Bien à vous. Merci.
Bonjour,
"Denis -esp2008-" <esp2008@apinc.org.enleve-ceci.et.cela> a écrit dans le
message de news:
pan.2004.11.18.10.16.18.394759@apinc.org.enleve-ceci.et.cela...
Ou il faut préciser le nom d'utilisateur et le mot de passe, comme
indiqué dans la doc [2].
Je suis bien d'accord mais même avec un utilisateur et un mpd je n'y arrive
pas.
ce que j'ai compris :
1. pour te connecter il faut une connexion -> créée avec query browser :
connection = test, username = azerty et password = qwerty, hostname =
localhost, port = 3307
2. un utilisateur -> créé avec administrator : mysql user = moi , password =
lui
Que dois-je mettre dans la connect dbi ?
$dsn = "DBI:mysql:database=$database;host=$hostname;port=$port";
$dbh = DBI->connect($dsn, $user, $password);
En appliquant le script suivant :
use DBI;
$dsn = 'DBI:mysql:database=memoria;host7.0.0.1;port307';
$dbh = DBI->connect($dsn, 'moi', 'lui') or die "Impossible de se
connecter à la base de données : $DBI::errstrn";
j'obtiens :
perl -w test_crea_mysql.pl
Name "main::dbh" used only once: possible typo at test_crea_mysql.pl line 8.
DBI connect('database=memoria;host7.0.0.1;port307','moi',...) failed:
Client does not support authentication protocol requested by server;
consider upgrading MySQL client at test_crea_mysql.pl line 8
Impossible de se connecter à la base de données : Client does not support
authentication protocol requested by server; consider upgrading MySQL client
Exit code: 255
et je vois pas ce que je peux upgrader puisque tout semble être au top... ou
est l'erreur?
"Denis -esp2008-" a écrit dans le message de news:
Ou il faut préciser le nom d'utilisateur et le mot de passe, comme indiqué dans la doc [2].
Je suis bien d'accord mais même avec un utilisateur et un mpd je n'y arrive pas. ce que j'ai compris : 1. pour te connecter il faut une connexion -> créée avec query browser : connection = test, username = azerty et password = qwerty, hostname = localhost, port = 3307 2. un utilisateur -> créé avec administrator : mysql user = moi , password = lui
Que dois-je mettre dans la connect dbi ? $dsn = "DBI:mysql:database=$database;host=$hostname;port=$port"; $dbh = DBI->connect($dsn, $user, $password);
En appliquant le script suivant :
use DBI; $dsn = 'DBI:mysql:database=memoria;host7.0.0.1;port307'; $dbh = DBI->connect($dsn, 'moi', 'lui') or die "Impossible de se connecter à la base de données : $DBI::errstrn";
j'obtiens :
perl -w test_crea_mysql.pl Name "main::dbh" used only once: possible typo at test_crea_mysql.pl line 8.
DBI connect('database=memoria;host7.0.0.1;port307','moi',...) failed: Client does not support authentication protocol requested by server; consider upgrading MySQL client at test_crea_mysql.pl line 8 Impossible de se connecter à la base de données : Client does not support authentication protocol requested by server; consider upgrading MySQL client
Exit code: 255
et je vois pas ce que je peux upgrader puisque tout semble être au top... ou est l'erreur?
Bien à vous. Merci.
Denis -esp2008-
Bonsoir,
j'obtiens : [...] Client does not support authentication protocol requested by server; consider upgrading MySQL client
Effectivement, je viens de regarder ce qui se disait sur perl.dbi.users, et il semble que mysql ait changé de mécanisme d'authentification sans que le pilote dbi ne soit mis à jour. Pour l'instant, la seule solution est d'utiliser une version de mysql inférieure à la 4.1 (donc a priori une version de la série 4.0.*).
Je n'ai pas trouvé la page de bug report de dbd::mysql, je chercherai mieux à l'ocasion.
-- Denis
Bonsoir,
j'obtiens :
[...]
Client does not support authentication protocol requested by
server; consider upgrading MySQL client
Effectivement, je viens de regarder ce qui se disait sur perl.dbi.users,
et il semble que mysql ait changé de mécanisme d'authentification sans
que le pilote dbi ne soit mis à jour. Pour l'instant, la seule solution
est d'utiliser une version de mysql inférieure à la 4.1 (donc a priori
une version de la série 4.0.*).
Je n'ai pas trouvé la page de bug report de dbd::mysql, je chercherai
mieux à l'ocasion.
j'obtiens : [...] Client does not support authentication protocol requested by server; consider upgrading MySQL client
Effectivement, je viens de regarder ce qui se disait sur perl.dbi.users, et il semble que mysql ait changé de mécanisme d'authentification sans que le pilote dbi ne soit mis à jour. Pour l'instant, la seule solution est d'utiliser une version de mysql inférieure à la 4.1 (donc a priori une version de la série 4.0.*).
Je n'ai pas trouvé la page de bug report de dbd::mysql, je chercherai mieux à l'ocasion.
-- Denis
Stéphane Lepolozec
Bonjour et merci pour m'avoir indiquer la voie de solution ainsi que pour "perl.dbi.users" que je ne connaissais pas. Il est possible de travail avec MySQL v4.1.7, DBI 1.45 et DBD-mysql 2.9003 en même temps malgré le changement de mécanisme d'authentification : il faut passer en configuration de l'instance mysql, aller dans "Startup Variables" - onglet "Security" et cocher l'option "Use old password encryption method" puis relancer l'instance. En passant par MySQL Administrator, cette manip est facile mais il me semble qu'en plus, et contrairement à ce qui est indiquer, il faut à ce moment revalider les mots de passe des utilisateurs...
use DBI; $dsn = 'DBI:mysql:database=memoria;host=localhost;port307'; $dbh = DBI->connect($dsn, 'moi', 'lui') or die "Impossible de se connecter à la base de données : $DBI::errstrn"; $sth = $dbh-> prepare ("INSERT INTO titre (id,abrege,complet) VALUES (?,?,?)"); $sth -> execute('','Mt','Maitre'); $dbh -> disconnect();
donne
perl -w test_crea_mysql.pl Exit code: 0
avec les bonnes valeurs dans la table :)
A nouveau, merci :)
"Denis -esp2008-" a écrit dans le message de news:
Bonsoir,
j'obtiens : [...] Client does not support authentication protocol requested by server; consider upgrading MySQL client
Effectivement, je viens de regarder ce qui se disait sur perl.dbi.users, et il semble que mysql ait changé de mécanisme d'authentification sans que le pilote dbi ne soit mis à jour. Pour l'instant, la seule solution est d'utiliser une version de mysql inférieure à la 4.1 (donc a priori une version de la série 4.0.*).
Je n'ai pas trouvé la page de bug report de dbd::mysql, je chercherai mieux à l'ocasion.
-- Denis
Bonjour et merci pour m'avoir indiquer la voie de solution ainsi que pour
"perl.dbi.users" que je ne connaissais pas.
Il est possible de travail avec MySQL v4.1.7, DBI 1.45 et DBD-mysql 2.9003
en même temps malgré le changement de mécanisme d'authentification : il faut
passer en configuration de l'instance mysql, aller dans "Startup
Variables" - onglet "Security" et cocher l'option "Use old password
encryption method" puis relancer l'instance.
En passant par MySQL Administrator, cette manip est facile mais il me semble
qu'en plus, et contrairement à ce qui est indiquer, il faut à ce moment
revalider les mots de passe des utilisateurs...
use DBI;
$dsn = 'DBI:mysql:database=memoria;host=localhost;port307';
$dbh = DBI->connect($dsn, 'moi', 'lui') or die "Impossible de se connecter à
la base de données : $DBI::errstrn";
$sth = $dbh-> prepare ("INSERT INTO titre (id,abrege,complet) VALUES
(?,?,?)");
$sth -> execute('','Mt','Maitre');
$dbh -> disconnect();
donne
perl -w test_crea_mysql.pl
Exit code: 0
avec les bonnes valeurs dans la table :)
A nouveau, merci :)
"Denis -esp2008-" <esp2008@apinc.org.enleve-ceci.et.cela> a écrit dans le
message de news:
pan.2004.11.18.22.16.22.685356@apinc.org.enleve-ceci.et.cela...
Bonsoir,
j'obtiens :
[...]
Client does not support authentication protocol requested by
server; consider upgrading MySQL client
Effectivement, je viens de regarder ce qui se disait sur perl.dbi.users,
et il semble que mysql ait changé de mécanisme d'authentification sans
que le pilote dbi ne soit mis à jour. Pour l'instant, la seule solution
est d'utiliser une version de mysql inférieure à la 4.1 (donc a priori
une version de la série 4.0.*).
Je n'ai pas trouvé la page de bug report de dbd::mysql, je chercherai
mieux à l'ocasion.
Bonjour et merci pour m'avoir indiquer la voie de solution ainsi que pour "perl.dbi.users" que je ne connaissais pas. Il est possible de travail avec MySQL v4.1.7, DBI 1.45 et DBD-mysql 2.9003 en même temps malgré le changement de mécanisme d'authentification : il faut passer en configuration de l'instance mysql, aller dans "Startup Variables" - onglet "Security" et cocher l'option "Use old password encryption method" puis relancer l'instance. En passant par MySQL Administrator, cette manip est facile mais il me semble qu'en plus, et contrairement à ce qui est indiquer, il faut à ce moment revalider les mots de passe des utilisateurs...
use DBI; $dsn = 'DBI:mysql:database=memoria;host=localhost;port307'; $dbh = DBI->connect($dsn, 'moi', 'lui') or die "Impossible de se connecter à la base de données : $DBI::errstrn"; $sth = $dbh-> prepare ("INSERT INTO titre (id,abrege,complet) VALUES (?,?,?)"); $sth -> execute('','Mt','Maitre'); $dbh -> disconnect();
donne
perl -w test_crea_mysql.pl Exit code: 0
avec les bonnes valeurs dans la table :)
A nouveau, merci :)
"Denis -esp2008-" a écrit dans le message de news:
Bonsoir,
j'obtiens : [...] Client does not support authentication protocol requested by server; consider upgrading MySQL client
Effectivement, je viens de regarder ce qui se disait sur perl.dbi.users, et il semble que mysql ait changé de mécanisme d'authentification sans que le pilote dbi ne soit mis à jour. Pour l'instant, la seule solution est d'utiliser une version de mysql inférieure à la 4.1 (donc a priori une version de la série 4.0.*).
Je n'ai pas trouvé la page de bug report de dbd::mysql, je chercherai mieux à l'ocasion.
-- Denis
Frantz Dorsemaine
Bonjour, je cherche à me connecter à une bdd mysql avec dbi.
J'ai réduit l'exemple à sa plus simple expression mais nada:
use DBI; $dbh = DBI -> connect("dbi:mysql:memoria") or die "Impossible de se connecter à la base de données : $DBI::errstrn";
La réponse est :
perl -w test_crea_mysql.pl
Name "main::dbh" used only once: possible typo at test_crea_mysql.pl line 7. DBI connect('memoria','',...) failed: Can't connect to MySQL server on 'localhost' (10061) at test_crea_mysql.pl line 7 Impossible de se connecter à la base de données : Can't connect to MySQL server on 'localhost' (10061)
Exit code: 255
Je suis sous windows XP SP2, mysql (MySQL v4.1.7) est installé avec tous les para par défaut, la bdd 'memoria' est créée et comporte deux tables (MySQL Query Broswer 1.1.1g), une connection et 3 utilisateurs sont disponibles (MySQL Administrator 1.0.14) en dernières versions, mon firewall est désactivé durant le test (résultat idem si actif). DBI 1.45 est installé sur activeperl 5.8.4 810 avec le DBD-mysql 2.9003, dernières versions trouvées avec ppm.
Débutant :( en perl et mysql, je ne sais pas où tourver l'erreur.
Bonjour,
je cherche à me connecter à une bdd mysql avec dbi.
J'ai réduit l'exemple à sa plus simple expression mais nada:
use DBI;
$dbh = DBI -> connect("dbi:mysql:memoria") or die "Impossible de se
connecter à la base de données : $DBI::errstrn";
La réponse est :
perl -w test_crea_mysql.pl
Name "main::dbh" used only once: possible typo at test_crea_mysql.pl line 7.
DBI connect('memoria','',...) failed: Can't connect to MySQL server on
'localhost' (10061) at test_crea_mysql.pl line 7
Impossible de se connecter à la base de données : Can't connect to MySQL
server on 'localhost' (10061)
Exit code: 255
Je suis sous windows XP SP2, mysql (MySQL v4.1.7) est installé avec tous les
para par défaut, la bdd 'memoria' est créée et comporte deux tables (MySQL
Query Broswer 1.1.1g), une connection et 3 utilisateurs sont disponibles
(MySQL Administrator 1.0.14) en dernières versions, mon firewall est
désactivé durant le test (résultat idem si actif).
DBI 1.45 est installé sur activeperl 5.8.4 810 avec le DBD-mysql 2.9003,
dernières versions trouvées avec ppm.
Débutant :( en perl et mysql, je ne sais pas où tourver l'erreur.
Bonjour, je cherche à me connecter à une bdd mysql avec dbi.
J'ai réduit l'exemple à sa plus simple expression mais nada:
use DBI; $dbh = DBI -> connect("dbi:mysql:memoria") or die "Impossible de se connecter à la base de données : $DBI::errstrn";
La réponse est :
perl -w test_crea_mysql.pl
Name "main::dbh" used only once: possible typo at test_crea_mysql.pl line 7. DBI connect('memoria','',...) failed: Can't connect to MySQL server on 'localhost' (10061) at test_crea_mysql.pl line 7 Impossible de se connecter à la base de données : Can't connect to MySQL server on 'localhost' (10061)
Exit code: 255
Je suis sous windows XP SP2, mysql (MySQL v4.1.7) est installé avec tous les para par défaut, la bdd 'memoria' est créée et comporte deux tables (MySQL Query Broswer 1.1.1g), une connection et 3 utilisateurs sont disponibles (MySQL Administrator 1.0.14) en dernières versions, mon firewall est désactivé durant le test (résultat idem si actif). DBI 1.45 est installé sur activeperl 5.8.4 810 avec le DBD-mysql 2.9003, dernières versions trouvées avec ppm.
Débutant :( en perl et mysql, je ne sais pas où tourver l'erreur.