//**This page is in the 'old' namespace, and was imported from our previous wiki.
We recommend checking for more up-to-date information using the search box.**//
===== MySQL Processing Using DatabasePlugin =====
This describes my experience of getting DBPlug to get records for a mysql database.
* My test mysql is installed on //wesson.cs.waikato.ac.nz//
* My greenstone is installed in ///research/shaoqun/testing/gsdl/collect/testsql// (on Linux).
* My test database is called //gswikidb//.
* My test database table is //gw_user//.
* I copied // /research/shaoqun/testing/gsdl/etc/packages/example.dbi // into the import directory of my collection //testsql//.
* This file was modified by setting the following variables:
$db='DBI:mysql:gswikidb:wesson.cs.waikato.ac.nz';
$username='root';
(I used //root// without a password to log in. You may need to set $password if authentication is required.)
$sql_query = 'SELECT * FROM gw_user';
%db_to_greenstone_fields=(
"user_name" => "Title",
"user_real_name" => "text",
"user_id" => "Identifier",
);
(This is a mapping between field names in gw_user, and metadata names in the
Greenstone archive files.)
* Then I built the collection.
**Notes about Perl modules.**
* download following modules from [[http://search.cpan.org/|CPAN]]
* DBI
* Data::ShowTable
* DBD::mysql
* install these modules: make sure you have run 'setup.bat' or 'source setup.bash' in your greenstone directory first)
* put them in $GSDLHOME/packages/cpan.
* untarred them (tar xzvf file.tar.gz)
* for DBI and Data:ShowTable, run
perl Makefile.PL INSTALLSITELIB="$GSDLHOME/perllib/cpan/perl-5.8" PREFIX="$GSDLHOME/perllib/cpan/XXX" SITEPREFIX="$GSDLHOME/perllib/cpan"
make
make test
make install
*for DBD:mysql, run
perl Makefile.PL --testdb=gswikidb --testhost=wesson.cs.waikato.ac.nz --testuser=root
INSTALLSITELIB="$GSDLHOME/perllib/cpan/perl-5.8"
PREFIX="$GSDLHOME/perllib/cpan/XXX" SITEPREFIX="$GSDLHOME/perllib/cpan"
make
make test
make install
This installs the modules into $GSDLHOME/perllib/cpan/perl-5.8
(XXX in the perl line should be set to the first component of the module name, e.g. DBI,DBD,Data)