OT: Perl CPAN, DBD::mysql, Access denied for user: 'root@localhost'
Hallo zusammen, install DBD::mysql Wie oder wo kann ich Perl CPAN sagen unter welchem User/Passwort er sich zu einer MySQL Datenbank verbinden soll. Aktuell versucht er's nämlich bei den Tests immer unter root und ohne passwort und das geht natürlich in die Hose. Danke für Tips. Werner Franke
On Thu, Feb 12, 2004 at 03:01:05PM +0000, Werner Franke wrote:
Wie oder wo kann ich Perl CPAN sagen unter welchem User/Passwort er sich zu einer MySQL Datenbank verbinden soll.
In der connect()-Methode wird beides mit Uebergeben.
Danke für Tips.
Alternativ koennte man mit /root/.my.cnf und dem Inhalt ----- [client] # The following password will be sent to all standard MySQL clients password=secret ----- einen Versuch wagen. -- Have fun, Peter
Hallo, Am Thu, 12 Feb 2004, Werner Franke schrieb:
Hallo zusammen,
install DBD::mysql
Wie oder wo kann ich Perl CPAN sagen unter welchem User/Passwort er sich zu einer MySQL Datenbank verbinden soll.
Aktuell versucht er's nämlich bei den Tests immer unter root und ohne passwort und das geht natürlich in die Hose.
cd $CPANDIR/build/DBD-mysql-$version perl Makefile.PL --help Ausfuehrlicher steht's in der INSTALL.html der ausgepackten DBD-mysql-Quellen. Also: ==== ~ $ cd $CPANDIR/build $CPANDIR/build $ perl Makefile.PL --testdb=test \ --testuser=test --testpassword=test [..] $CPANDIR/build $ make $CPANDIR/build $ make test $CPANDIR/build $ su $CPANDIR/build # make install $CPANDIR/build # exit $CPANDIR/build $ ==== -dnh -- It's 106 ms latency to Chicago, we've got a fullscale rant about NetSol and half a pack of work annoyances, it's dark, and we're typing with sunglasses.'' -- Hit it.'' -- Anthony de Boer
Hallo David, Am Donnerstag, 12. Februar 2004 17:03 schrieb David Haller:
Am Thu, 12 Feb 2004, Werner Franke schrieb:
Hallo zusammen,
install DBD::mysql
Wie oder wo kann ich Perl CPAN sagen unter welchem User/Passwort er sich zu einer MySQL Datenbank verbinden soll.
Aktuell versucht er's nämlich bei den Tests immer unter root und ohne passwort und das geht natürlich in die Hose.
cd $CPANDIR/build/DBD-mysql-$version perl Makefile.PL --help
Ausfuehrlicher steht's in der INSTALL.html der ausgepackten DBD-mysql-Quellen.
Also: ==== ~ $ cd $CPANDIR/build $CPANDIR/build $ perl Makefile.PL --testdb=test \ --testuser=test --testpassword=test [..] $CPANDIR/build $ make $CPANDIR/build $ make test $CPANDIR/build $ su $CPANDIR/build # make install $CPANDIR/build # exit $CPANDIR/build $
Wenn man die Module so installiert, dann OK. Ich habe jedoch perl -MCPAN -e shell install DBD::mysql benutzt. Und da sollte es auch einen Weg geben. Ich denke der Hinweis von Peter Wiersig bezüglich /root/.my.cnf sollte die Lösung sein. Danke jedenfalls für die Antwort. Sollte es so nicht funktionieren, dann ist Dein Weg meine nächste Wahl. Gruss Werner
Hallo, Am Fri, 13 Feb 2004, Werner Franke schrieb:
Am Donnerstag, 12. Februar 2004 17:03 schrieb David Haller:
cd $CPANDIR/build/DBD-mysql-$version perl Makefile.PL --help
Ausfuehrlicher steht's in der INSTALL.html der ausgepackten DBD-mysql-Quellen.
Also: ==== ~ $ cd $CPANDIR/build $CPANDIR/build $ perl Makefile.PL --testdb=test \ --testuser=test --testpassword=test [..] $CPANDIR/build $ make $CPANDIR/build $ make test $CPANDIR/build $ su $CPANDIR/build # make install $CPANDIR/build # exit $CPANDIR/build $
Wenn man die Module so installiert, dann OK. Ich habe jedoch
perl -MCPAN -e shell install DBD::mysql
benutzt. Und da sollte es auch einen Weg geben.
CPAN macht im Hintergrund auch nix anderes. Also: perl -MCPAN -e 'get DBD::mysql' und weiter wie oben. Allerdings macht CPAN das 'make install' nur, wenn 'make' und 'make test' erfolgreich waren und loest dir auch Abhaengigkeiten auf. Das kannst du ja aber auch machen (perl -MCPAN -e 'make DBD::mysql'.
Ich denke der Hinweis von Peter Wiersig bezüglich /root/.my.cnf sollte die Lösung sein.
Halte ich nicht fuer die "saubere" Loesung. Schliesslich haben root und der mysql-root Account nix miteinander zu tun. Und auch das CPAN als root laufen zu lassen ist nicht "gut". Ich mache es hier so: Als User lass ich CPAN laufen, bis inkl. test, also z.B.: $ perl -MCPAN -e shell cpan> test Foo::Bar Wenn dann der Test durch ist, dann mach ich als root in nem anderen xterm: # make -C $CPANDIR/build/Foo-Bar-$version install Und ggfs. wie bei DBD::mysql mach ich halt nur das 'get' (bzw. make wg. der Abhaengigkeiten) mit CPAN. -dnh -- Also das mit der Milchstarsse und dem Kecksplaneten kolingt ja noch halbwegs plausiebel. Aber Nesquick Alee? Nenen! Kann nich sein. dann wäre es ja ein Schockomoinster und kein Krümelmonster. [Woko° in dag°]
Hallo David, siehe unten... Am Freitag, 13. Februar 2004 14:13 schrieb David Haller:
Hallo,
Am Fri, 13 Feb 2004, Werner Franke schrieb:
Am Donnerstag, 12. Februar 2004 17:03 schrieb David Haller:
cd $CPANDIR/build/DBD-mysql-$version perl Makefile.PL --help
Ausfuehrlicher steht's in der INSTALL.html der ausgepackten DBD-mysql-Quellen.
Also: ==== ~ $ cd $CPANDIR/build $CPANDIR/build $ perl Makefile.PL --testdb=test \ --testuser=test --testpassword=test [..] $CPANDIR/build $ make $CPANDIR/build $ make test $CPANDIR/build $ su $CPANDIR/build # make install $CPANDIR/build # exit $CPANDIR/build $
Wenn man die Module so installiert, dann OK. Ich habe jedoch
perl -MCPAN -e shell install DBD::mysql
benutzt. Und da sollte es auch einen Weg geben.
CPAN macht im Hintergrund auch nix anderes. Also:
perl -MCPAN -e 'get DBD::mysql' und weiter wie oben. Allerdings macht CPAN das 'make install' nur, wenn 'make' und 'make test' erfolgreich waren und loest dir auch Abhaengigkeiten auf. Das kannst du ja aber auch machen (perl -MCPAN -e 'make DBD::mysql'.
Nun bis jetzt hatte ich die wenigen Perl-Module immer über "install Modul" auf's System geholt und somit noch nicht die Notwendigkeit gehabt mich näher damit zu beschäftigen. Da es in meinem näheren Umfeld auch niemanden gibt, der sich damit beschäftigt, konnte ich auch niemand fragen. Natürlich kann man sich auch einlesen und Dokus wälzen, aber das ist mühsam :-) Das kann leicht ausufern.
Ich denke der Hinweis von Peter Wiersig bezüglich /root/.my.cnf sollte die Lösung sein.
Halte ich nicht fuer die "saubere" Loesung. Schliesslich haben root und der mysql-root Account nix miteinander zu tun. Und auch das CPAN als root laufen zu lassen ist nicht "gut". Ich mache es hier so:
Als User lass ich CPAN laufen, bis inkl. test, also z.B.:
$ perl -MCPAN -e shell cpan> test Foo::Bar
Wenn dann der Test durch ist, dann mach ich als root in nem anderen xterm: # make -C $CPANDIR/build/Foo-Bar-$version install
Und ggfs. wie bei DBD::mysql mach ich halt nur das 'get' (bzw. make wg. der Abhaengigkeiten) mit CPAN.
Nachdem das mit dem /root/.my.cnf nicht funktioniert hat, habe ich es auch so wie in der letzten Mail von Dir beschrieben gemacht. Es hat problemlos funktioniert. Für zukünftige Aktionen werden mir Deine oben beschriebenen Kommandos sicher gute Dienste leisten. Danke dafür. Gruss Werner Hast Du vielleicht auch Tips zum Thread: Arbeitsflaeche freigeben und anzeigen ueber WEB
participants (3)
-
David Haller
-
Peter Wiersig
-
Werner Franke