2011-01-18 11 views
16

Aquí está la salida:Tratando de instalar Perl DBD-MySQL, mysql_config no se puede encontrar

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 

he investigado el tema y trató de hacer un enlace simbólico en vano.

¿Debo compilar esto por mi cuenta?

+8

La instalación de 'libmysqlclient-dev' resuelve el problema en ubuntu. – Naveed

Respuesta

3

Encuentra el guión mysql_config.pl bajo el directorio de MySQL y ejecutar Makefile.PL como:

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

¿Qué hace si no quiere que mysql se instale en la máquina local? – Fuzzy

+7

No sé, tal vez ir a ver la televisión. 'DBD :: mysql' depende de las bibliotecas de cliente MySQL. – mob

4

Sólo se necesita mysql-server y mysql-devel instalado localmente de manera que CPAN puede construir el módulo, es probable que pueda quitar la servidor mysql luego.

2

Si intenta instalar a través de CPAN no puede, por lo que yo sé, establecer la opción --mysql_config directamente. Y, incluso el directorio que contiene mysql_config en la variable de entorno PATH no parece ayudar.

Sin embargo, si usted tiene la mysql_config archivo disponible en alguna parte, puede hacer lo siguiente para realizar la instalación éxito: Instalación de MySQL

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

A continuación, eliminar el enlace simbólico después de la DBD ::.

Las pruebas durante la instalación aún fallarán, a menos que haya instalado MySQL en alguna ubicación central/predeterminada en su sistema, pero la instalación aún se realizará correctamente.

Si no tiene disponible mysql_config, puede obtenerlo desde una descarga tar.gz del MySQL Community Server desde mysql.com. Se ubicará en el subdirectorio bin/de los archivos extraídos. Si desea tener instalado MySQL en su sistema, una mejor opción es, probablemente, descargar los RPM e instalarlos, o instalarlos a través del sistema de administración de paquetes de su sistema operativo.

24

Si ha instalado el servidor MySQL que todo el mundo se instala: sudo apt-get install mysql-server (o algo así)

se echa en falta algunos archivos adicionales de los que depende el makefile para este módulo Perl.

Usted puede tratar de solucionar este problema instalando el siguiente paquete: sudo apt-get install libmysqlclient-dev

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

+0

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

6

instalar el paquete mysql-devel que se refiere a su distribución y la versión del servidor mysql.

+0

Esta es la respuesta correcta. Además, tenga en cuenta que si está usando un tenedor de mysql, debe instalar el paquete de desarrollo que coincida con el tenedor y la versión, p. 'Percona-XtraDB-Cluster-devel-56'. – dr01

+0

Sí, esta es la respuesta correcta. – MIguelele

+0

Al menos lo que necesita con CentOS. ¡Gracias! – BurninLeo

14

aplicación a los usuarios de Debian/Ubuntu (Estoy corriendo T-12.0.4), se sugirió anteriormente que los usuarios hacen:

sudo apt-get install libmysqlclient-dev 

Pero hay otro problema con la parte de la instalación maketest donde la "contraseña: NO" FALLÓ.Para pasar por alto esa prueba, sólo tiene que utilizar la fuerza:

sudo cpan -f DBD::mysql 
+0

Me gusta esta respuesta porque hay situaciones en las que no se desea instalar todo el paquete mysql-server. –

5

si ur usando Ubuntu, u puede instalar fácilmente mediante el siguiente cmd

sudo apt-get install libdbd-mysql-perl 

para más detalles revise el CPAN install.pod consisten detalle sobre otro sabor de Linux

0

Estaba obteniendo errores de prueba. Esto me ayudó;

perl Makefile.PL --testuser=bob --testpass=bobtest 
Cuestiones relacionadas