• Aucun résultat trouvé

2.7.1 Installer Perl sur Unix

Le support Perl pour MySQL est fournit par les interfaces clientes DBI

/ DBD

. API Perl pour MySQL . Le code client des modules DBD

/ DBI

de Perl, requière une version de celui−ci supérieure ou égale à la version 5.004. L'interface ne fonctionnera pas si vous avez une ancienne version de Perl. Le support Perl de MySQL requière aussi que vous ayez installé le support de programmation de clients pour MySQL. Si vous avez installé MySQL à partir de fichiers RPM, les programmes clients sont dans le RPM client, mais le support de la programmation de clients est dans le RPM des développeurs. Assurez−vous d'avoir installé le dernier RPM.

Depuis la version 3.22.8, le support Perl est distribué séparément du reste de la distribution MySQL. Si vous voulez installer le support Perl, les fichiers dont vous aurez besoin peuvent être trouvés sur http://www.mysql.com/downloads/api−dbi.html .

Les distributions de Perl sont fournies en tant qu'archives compréssées tar

et ont des noms comme

MODULE−VERSION.tar.gz

, où MODULE

est le nom du module et VERSION

est le numéro de version. Vous devez obtenir les distributions Data−Dumper

, DBI

, et Msql−Mysql−modules

et les installer dans cet ordre. La procédure d'installation est décrite ici. L'exemple montré ici concerne le module Data−Dumper

, mais la procédure est la même pour les trois distributions :

Décompressez la distribution dans le dossier courant :

shell> gunzip < Data−Dumper−VERSION.tar.gz | tar xvf −

Cette commande crée un dossier appelé Data−Dumper−VERSION

.

Mettez vous dans le répertoire racine de la distribution décompressée :

shell> cd Data−Dumper−VERSION

Construisez la distribution et compilez tout :

shell> perl Makefile.PL shell> make

shell> make test shell> make install

La commande make test

est importante car elle vérifie que le module fonctionne. Notez que quand vous exécutez cette commande durant l'installation de Msql−Mysql−modules

pour tester le code de l'interface, le serveur MySQL doit être en marche sinon le test échouera.

Il est bon de reconstruire et réinstaller la distribution Msql−Mysql−modules

à chaque fois que vous

réinstallez une nouvelle version de MySQL, particulièrement si vous avez des problèmes avec vos scripts DBI

après avoir avoir mis à jour MySQL.

Si vous n'avez pas le droit d'installer des modules Perl dans le dossier système ou que vous voulez installer des modules locaux de Perl, la référence suivante pourra vous aider :

http://www.iserver.com/support/contrib/perl5/modules.html

Regardez le paragraphe Installing New Modules that Require Locally Installed Modules

.

2.7.2 Installer ActiveState Perl sur Windows

Pour installer le module DBD

MySQL avec ActiveState Perl sous Windows, vous devez faire ce qui suit :

Obtenez ActiveState Perl à partir de http://www.activestate.com/Products/ActivePerl/ et installez le.

Ouvrez un terminal DOS.

Si requis, définissez la variable HTTP_proxy. Par exemple, vous pouvez faire :

set HTTP_proxy=my.proxy.com:3128 • Démarrez le programme PPM : C:\> c:\perl\bin\ppm.pl • Installez DBI

, si ce n'est pas déjà fait :

ppm> install DBI

Si cela fonctionne, exécutez la commande suivante :

install \

ftp://ftp.de.uu.net/pub/CPAN/authors/id/JWIED/DBD−mysql−1.2212.x86.ppd

Ce qui suit devrait fonctionner avec la version 5.6 d'ActiveState Perl.Si ce qui précède ne veut pas fonctionner, vous devez à la place installer le pilote MyODBC

et vous connecter au serveur MySQL via ODBC :

use DBI;

$dbh= DBI−>connect("DBI:ODBC:$dsn","$utilisateur","$motdepasse") || die "Obtenu l'erreur $DBI::errstr lors de la connexion à $dsn\n";

2.7.3 Installer la distribution Perl de MySQL sous Windows

Cette distribution Perl de MySQL contient DBI

, DBD:MySQL

et DBD:ODBC

. Obtenez la distribution Perl pour Windows à partir de http://www.mysql.com/downloads/os−win32.html .

Décompressez la distribution dans C:

pour obtenir le dossier C:\PERL

.

Ajoutez le répertoire C:\PERL\BIN

à votre path.

Ajoutez le répertoire C:\PERL\BIN\MSWIN32−x86−thread

ou C:\PERL\BIN\MSWIN32−x86

à votre path.

Vérifiez que perl

fonctionne en exécutant perl −v

dans un terminal DOS.

2.7.4 Problèmes lors de l'utilisation des interfaces Perl DBI et DBD

Si Perl vous informe qu'il ne peut trouver le module ../mysql/mysql.so

, il se trouve probablement que Perl n'arrive pas à trouver la librairie partagée libmysqlclient.so

.

Vous pouvez corriger cela en suivant l'une des méthodes suivantes : Compilez la distribution Msql−Mysql−modules

avec perl Makefile.PL −static −config

au lieu de perl Makefile.PL

.

Copiez libmysqlclient.so

dans le dossier où se situent vos autres librairies partagées (souvent

/usr/lib

ou /lib

).

Sous Linux vous pouvez ajouter le chemin vers le dossier dans lequel se trouve

libmysqlclient.so

au fichier /etc/ld.so.conf

.

Ajoutez le chemin complet vers le dossier où se situe libmysqlclient.so

à la variable d'environnement LD_RUN_PATH

.

Si vous obtenez l'erreur suivante de DBD−mysql

, vous utilisez probablement gcc

(ou un vieux binaire compilé avec gcc

) :

/usr/bin/perl: can't resolve symbol '__moddi3' /usr/bin/perl: can't resolve symbol '__divdi3'

Ajoutez −L/usr/lib/gcc−lib/... −lgcc

à la commande de liaison lorsque la librairie mysql.so

est construite (vérifiez l'affichage de make

concernant mysql.so

quand vous compilez le client Perl). L'option −L

doit spécifier le chemin vers le dossier où se situe libgcc.a

sur votre système.Une autre cause du problème peut être que Perl et MySQL ne sont pas tous deux compilés avec gcc

. Dans ce cas là, vous devrez faire en sorte qu'ils le soient.

Si vous obtenez les erreurs suivantes de la part de Msql−Mysql−modules

quand vous exécutez ces tests :

t/00base...install_driver(mysql) failed:

Can't load '../blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql: ../blib/arch/auto/DBD/mysql/mysql.so: undefined symbol:

uncompress at /usr/lib/perl5/5.00503/i586−linux/DynaLoader.pm line 169.

cela signifie que vous avez besoin d'inclure la librairie dynamique, −lz, dans la ligne de liaison. Cela peut se faire en changeant ce qui suit dans lib/DBD/mysql/Install.pm

:

$sysliblist .= " −lm"; en

$sysliblist .= " −lm −lz";

Après cela, vous devez exécuter 'make realclean' et reprendre l'installation dès le début.Si vous voulez utiliser le module de Perl sur un système qui ne supporte pas les liaisons dynamiques (comme Caldera/SCO) vous pouvez générer une version statique de Perl incluant DBI

et DBD−mysql

. L'approche est de générer une version de Perl avec le code de DBI

lié et de l'installer au dessus de votre Perl courant. Puis vous utilisez cette version pour en créer à nouveau une autre qui comporte le code de DBD

lié et d'installer cette version ci.

Sur Caldera (SCO), vous devez définir les variables d'environnement suivantes :

shell> LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/usr/progressive/lib ou shell> LD_LIBRARY_PATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:\ /usr/progressive/lib:/usr/skunk/lib shell> LIBPATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:\ /usr/progressive/lib:/usr/skunk/lib shell> MANPATH=scohelp:/usr/man:/usr/local1/man:/usr/local/man:\ /usr/skunk/man:

D'abord, créez un Perl incluant un DBI

lié statiquement en exécutant des commandes dans le dossier où se situe votre distribution DBI

:

shell> perl Makefile.PL −static −config shell> make

shell> make install shell> make perl

Ensuite, vous devez installer le nouveau Perl. Les affichages de make perl

vous indiqueront les commandes make

exactes que vous aurez besoin d'exécuter pour faire l'installation. Sur Caldera (SCO), il s'agit de make −f Makefile.aperl inst_perl MAP_TARGET=perl

.Puis, utilisé le Perl qui vient d'être créé pour en créer un nouveau qui inclut un DBD::mysql

lié statiquement en exécutant ces commandes dans le dossier où votre distribution de Msql−Mysql−modules

se situe :

shell> perl Makefile.PL −static −config shell> make

shell> make install

shell> make perl

Finalement, vous devez installer ce nouveau Perl. Une fois de plus, l'affichage de make perl

vous indiquera la commande à utiliser.

Ce chapitre fournit un tutoriel d'introduction à MySQL en montrant comment utiliser le client mysql

pour créer et utiliser une simple base de données. mysql

(quelques fois nommé ``moniteur terminal'' ou juste ``moniteur'') est un programme interactif qui vous permet de vous connecter à un serveur MySQL, exécuter des requêtes et voir les résultats. mysql

peut aussi être utilisé en mode batch : vous placez vos requêtes dans un fichier, puis vous faites exécuter à mysql

le contenu de ce fichier. Les deux manières d'utiliser mysql

sont expliquées ici. Pour voir une liste d'options fournies par mysql

, invoquez−le avec l'option −−help

:

shell> mysql −−help

Ce chapitre assume que mysql

est installé sur votre machine et qu'un serveur MySQL est disponible pour que vous vous y connectiez. Si ce n'est pas le cas, contactez votre administrateur MySQL. (Si

vous êtes l'administrateur, vous aurez besoin de consulter d'autres sections de ce manuel.)Ce

chapitre décrit le processus d'installation et d'utilisation d'une base de données en entier. Si vous n'êtes intéressés que par l'accès à une base de données existante, vous pouvez sauter les sections décrivant la création de la base et des tables.

Ce chapitre n'est qu'un tutoriel, beaucoup de détails ne sont pas approfondis. Consultez les sections appropriées du manuel pour plus d'informations sur les sujets abordés.