2011-01-18 6 views
16

ecco l'output:per l'installazione di Perl-Mysql DBD, mysql_config non può essere trovato

Ian-MacBook-Pro:DBD-mysql-4.011 ianseyer$ sudo Perl Makefile.PL 
Can't exec "mysql_config": No such file or directory at Makefile.PL line 76. 

Cannot find the file 'mysql_config'! Your execution PATH doesn't seem 
not contain the path to mysql_config. Resorting to guessed values! 
Can't exec "mysql_config": No such file or directory at Makefile.PL line 454. 
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located 
Can't exec "mysql_config": No such file or directory at Makefile.PL line 454. 
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located 
Can't exec "mysql_config": No such file or directory at Makefile.PL line 454. 
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located 


PLEASE NOTE: 

For 'make test' to run properly, you must ensure that the 
database user 'root' can connect to your MySQL server 
and has the proper privileges that these tests require such 
as 'drop table', 'create table', 'drop procedure', 'create procedure' 
as well as others. 

mysql> grant all privileges on test.* to 'root'@'localhost' identified by 's3kr1t'; 

You can also optionally set the user to run 'make test' with: 

perl Makefile.pl --testuser=username 

Can't exec "mysql_config": No such file or directory at Makefile.PL line 454. 
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located 
Can't exec "mysql_config": No such file or directory at Makefile.PL line 454. 
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located 
Can't exec "mysql_config": No such file or directory at Makefile.PL line 454. 
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located 
Failed to determine directory of mysql.h. Use 

    perl Makefile.PL --cflags=-I 

to set this directory. For details see the INSTALL.html file, 
section "C Compiler flags" or type 

    perl Makefile.PL --help 

ho studiato il problema e provato a fare un link simbolico senza alcun risultato.

Devo compilare questo da solo?

+8

L'installazione di 'libmysqlclient-dev' risolve il problema in ubuntu. – Naveed

risposta

3

Trovare lo script mysql_config.pl sotto la directory di MySQL, ed eseguire Makefile.PL come:

perl Makefile.PL --mysql_config=/path/to/mysql-5.x.y.zzz/bin/mysql_config.pl 
+2

Cosa fai se non vuoi installare mysql sul computer locale? – Fuzzy

+7

Non so, forse vado a guardare la TV. 'DBD :: mysql' dipende dalle librerie client MySQL. – mob

4

Hai solo bisogno mysql-server e mysql-devel installato localmente in modo da CPAN può costruire il modulo, probabilmente si può rimuovere il server MySQL in seguito.

2

Se si tenta di installare tramite CPAN non è possibile, per quanto ne so, impostare direttamente l'opzione --mysql_config. E, anche la directory che contiene mysql_config nella variabile d'ambiente PATH non sembra aiutare.

Tuttavia, se si ha il mysql_config file disponibile da qualche parte, è possibile effettuare le seguenti operazioni per rendere l'installazione successo:

ln -s /path/to/mysql_config /usr/local/bin/ 

Quindi, rimuovere il collegamento simbolico dopo l'installazione DBD :: mysql.

I test durante l'installazione continueranno a fallire, a meno che MySQL non sia stato installato in una posizione centrale/predefinita del sistema, ma l'installazione avrà comunque esito positivo.

Se non si dispone di mysql_config disponibile, è possibile scaricarlo da un download tar.gz di MySQL Community Server da mysql.com. Si troverà nella cartella bin/sottodirectory dei file estratti. Se vuoi avere MySQL installato sul tuo sistema, un'opzione migliore è probabilmente quella di scaricare gli RPM e installarli, o installare tramite il sistema di gestione dei pacchetti del tuo sistema operativo.

24

Se è stato installato il server MySQL che tutti installa: sudo apt-get install mysql-server (o qualcosa di simile)

ti manca un po 'di file in più su cui il makefile per questo modulo Perl dipende.

Si può cercare di risolvere il problema installando il seguente pacchetto: sudo apt-get install libmysqlclient-dev

Referece: http://cpansearch.perl.org/src/RUDY/DBD-mysql-2.9008/INSTALL.html#configuration

+0

Max OS X equivalente: ['brew'] (http://brew.sh/) [' install mysql'] (http://stackoverflow.com/a/10855483/3437608) – Cullub

6

Installare il pacchetto mysql-devel che appartiene alla vostra distro e la versione del server mysql.

+0

Questa è la risposta corretta. Inoltre, tieni presente che se stai utilizzando un fork di mysql devi installare il pacchetto di sviluppo corrispondente a fork e versione, ad es. 'Percona-XtraDB-Cluster-devel-56'. – dr01

+0

Sì, questa è la risposta corretta. – MIguelele

+0

Almeno di cosa ha bisogno con CentOS. Grazie! – BurninLeo

14

Applicando a Ubuntu/utenti Debian (sto correndo U-12.0.4), è stato suggerito in precedenza che gli utenti fanno:

sudo apt-get install libmysqlclient-dev 

Ma poi c'è un altro problema con la parte maketest dell'installazione dove "password: NO" NON RIUSCITA.Per bypassare quel test, basta usare la forza:

sudo cpan -f DBD::mysql 
+0

Mi piace questa risposta perché ci sono situazioni in cui l'installazione dell'intero pacchetto mysql-server non è auspicabile. –

5

se ur utilizzando Ubuntu, u può facilmente installare utilizzando il seguito cmd

sudo apt-get install libdbd-mysql-perl 

per maggiori dettagli controllare il CPAN install.pod consistono dettaglio circa altro sapore Linux

0

Stavo ricevendo errori di test. Questo mi ha aiutato;

perl Makefile.PL --testuser=bob --testpass=bobtest 
Problemi correlati