Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
DBD::mysql Perl client driver for the MySQL and MariaDB databases
Perl C
branch: master

Merge pull request #52 from lushl9301/master

Small mistake in the installation instruction.
latest commit a23b4688df
@CaptTofu authored


DBD::mysql - A Perl5 Database Interface to the MySQL database

The driver installation is described in


In short: If you are using

  OS X

  Please see the excellent post at
  (Thanks to Kris Davey for pointing this out to me). I plan to see if I can get the build process 
  to be more intelligent about using build flags that work. It is very difficult as it's 
  not a driver problem per se but a problem in how one builds DBD::mysql with a binary client lib
  built on a different compiler than the one the user is using.


    1.) If you need to use an HTTP Proxy, set the environment
        variable http_proxy, for example like this:

          set http_proxy=

    2.) The actual installation is as simple as

	  ppm install DBI
          ppm install DBD::mysql

        As of this writing, the above procedure won't work with
        ActivePerl 5.8.0, because so far a PPM for DBD::mysql is
        not available from the ActiveState server. I don't know
        why. However, Randy Kobes has kindly donated a PPM package
        to his own repository. You can use this as follows:

          ppm install


    Unfortunately it seems that the usual MySQL windows binaries
    cannot be combined with the CygWin libraries. At least I don't
    know how. In other words: You need to compile your own MySQL
    client binaries. In what follows I assume that you have
    downloaded and extracted the MySQL sources and the DBD::mysq
    sources to /usr/local/src. The following steps should do:

      cd /usr/local/src/mysql-4.0.9
       ./configure --without-server --prefix=/usr/local/mysql-4.0.9
      make install
      cd /usr/local/src/DBD-mysql-2.1023
      perl Makefile.PL \
	--libs="-L/usr/local/mysql-4.0.9/lib/mysql -lmysqlclient -lz" \
	--cflags=-I/usr/local/mysql-4.0.9/include/mysql \
      make test # Some minor error messages can be ignored here
      make install

  Windows/CygWin (to build with embedded MySQL too)

    First, build MySQL
      tar -xzf mysql-5.0.51b.tar.gz
      cd mysql-5.0.51b/
      ./configure --without-server --with-embedded-server
      make install

    Then build DBD::mysqlEmb
      look DBD::mysql
      perl Makefile.PL --force-embedded
      make install

    Test with the following snippet
      perl -e 'use DBI; $dbh = DBI->connect("DBI:mysqlEmb:database=test;mysql_embedded=1;mysql_embedded_options=--help,--verbose","a","b");'
    If your build is OK, this will print the mysql embedded help.

  Linux/Red Hat (you may prefer gnorpm to use)

    rpm -i mysql mysql-devel mysql-server
    rpm -i perl-DBI
    rpm -i DBD-MySQL
    rpm -i zlib-devel

  Linux/SuSEs(you may prefer to use yast)

    rpm -i mysql mysql-client mysql-devel mysql-shared
    rpm -i perl-DBI
    rpm -i perl-Msql-Mysql-modules

  Linux/Mandrake (you may prefer to use any Mandrake specific tool?)

    rpm -i MySQL MySQL-client MySQL-devel MySQL-shared
    rpm -i perl-DBI
    rpm -i perl-Mysql
    rpm -i zlib-devel


    Install the packages

      mysql-client mysql-server mysql-doc mysql-common
      libdbi-perl libdbd-mysql-perl

    No idea how one does install these under Debian, but I am
    sure you know. :-)      

  For others, or in case of problems see INSTALL.html.

The drivers documentation can be obtained with

  perldoc lib/DBD/mysql.pod


  pod2html lib/DBD/mysql.pod >mysql.html

The driver is maintained by a mailing list:

You can also get help from the maintainer, Patrick Galbraith

Something went wrong with that request. Please try again.