Jetzt mußte ich einige Perl-Skripte mit MySQL-Zugriff nutzen.
Schon die Modul-Installation der Perl-Module DBI und besonders DBD::mysql lief einfach nicht.
Nach einigen Recherchen habe ich es doch geschafft. Hier steht wie (Kommentare willkommen - ALLES OHNE GEWÄHR UND MIT VORSICHT VERWENDEN!!)
Verwendete Plattform: Intel, Mac OS X Tiger, MAMP 1.4.1, MySQL 5.0.
(1)
Download MySQL 5 for OS X von mysql.com.
Den Installer ausführen, der alles in /usr/local/mysql-5.0.45-osx10.4-i686 installiert.
Außerdem gibt es einen symb. Link /usr/local/mysql zu obigen Verzeichnis.
(2)
Nun in der MAMP-Installation das MySQL-include- und -lib-Verzeichnis "anhängen" bzw. ersetzen:
sudo su
mkdir /Applications/MAMP/Library/include
ln -s /usr/local/mysql/include/ /Applications/MAMP/Library/include/mysql
mv /Applications/MAMP/Library/lib/mysql /Applications/MAMP/Library/lib/mysql_orig
ln -s /usr/local/mysql/lib /Applications/MAMP/Library/lib/mysql
(3)
In der MySQL-Installation stehen die dyn. Bibliotheken in /usr/local/mysql/lib. Jedoch werden sie vom Modul-Installer in /usr/local/mysql/lib/mysql erwartet. Also folgende "Quick 'n Dirty"-Abhilfe:
sudo su
mkdir /usr/local/mysql/lib/mysql
cp /usr/local/mysql/lib/lib* /usr/local/mysql/lib/mysql
(4)
PATH muss um /Applications/MAMP/Library/bin erweitert werden, um den Zugriff auf mysql_config zu ermöglichen:
export PATH="/Applications/MAMP/Library/bin:$PATH"
(5)
Nun die Perl-Module installieren:
sudo perl -MCPAN -e shell
install DBI
force install DBD::mysql
quit
(6)
Jetzt sollte alles klappen; die DB-Verbindung in Perl erfolgt so:
use strict;Abgerufene Daten aus MySQL müssen via
use utf8; # Quelltext in UTF-8 speichern
use DBI;
use Encode;
binmode(STDOUT, ":utf8"); # Ausgaben in UTF-8
my $dsn = "DBI:mysql:database=DB_NAME;host=localhost;" .
"mysql_socket=/Applications/MAMP/tmp/mysql/mysql.sock;port=8889";
my $dbh = DBI->connect($dsn, "root", "root");
$dbh->do("SET NAMES 'utf8'");
decode("utf8", $feld);in Unicode konvertiert werden.
Wenn es jemand besser weiß: Bitte Kommentare - danke!




0 Kommentare:
Kommentar veröffentlichen