<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >MySQL PDNS backend</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="PowerDNS manual" HREF="index.html"><LINK REL="UP" TITLE="Backends in detail" HREF="backends-detail.html"><LINK REL="PREVIOUS" TITLE="Random Backend" HREF="randombackend.html"><LINK REL="NEXT" TITLE="Generic MySQL and PgSQL backends" HREF="generic-mypgsql-backends.html"></HEAD ><BODY CLASS="SECT1" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >PowerDNS manual</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="randombackend.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >Appendix A. Backends in detail</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="generic-mypgsql-backends.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="PDNSBACKEND" >A.4. MySQL PDNS backend</A ></H1 ><P > <DIV CLASS="TABLE" ><A NAME="AEN4713" ></A ><P ><B >Table A-4. MySQL backend capabilities</B ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><COL><COL><TBODY ><TR ><TD >Native</TD ><TD >Yes</TD ></TR ><TR ><TD >Master</TD ><TD >No</TD ></TR ><TR ><TD >Slave</TD ><TD >No</TD ></TR ><TR ><TD >Superslave</TD ><TD >No</TD ></TR ><TR ><TD >Autoserial</TD ><TD >Yes</TD ></TR ><TR ><TD >Case</TD ><TD >Insensitive</TD ></TR ><TR ><TD >Module name</TD ><TD >pdns</TD ></TR ><TR ><TD >Lauch name</TD ><TD >pdns</TD ></TR ></TBODY ></TABLE ></DIV > </P ><P > This is the driver that corresponds to the set of XML-RPC tools available from PowerDNS. </P ><P > The schema: <PRE CLASS="SCREEN" >CREATE TABLE MailForwards ( Id int(10) unsigned NOT NULL auto_increment, ZoneId int(10) unsigned NOT NULL default '0', Name varchar(255) NOT NULL default '', Destination varchar(255) NOT NULL default '', Flags int(11) NOT NULL default '0', ChangeDate timestamp(14) NOT NULL, CreateDate timestamp(14) NOT NULL, Active tinyint(4) NOT NULL default '0', PRIMARY KEY (Id), KEY NameIndex (Name), KEY ZoneIdIndex (ZoneId) ); -- -- Table structure for table 'Mailboxes' -- CREATE TABLE Mailboxes ( Id int(10) unsigned NOT NULL auto_increment, ZoneId int(10) unsigned NOT NULL default '0', Name varchar(255) NOT NULL default '', Password varchar(255) NOT NULL default '', Quota int(10) unsigned NOT NULL default '0', Flags int(11) NOT NULL default '0', ChangeDate timestamp(14) NOT NULL, CreateDate timestamp(14) NOT NULL, Active tinyint(4) NOT NULL default '0', PRIMARY KEY (Id), UNIQUE KEY Name (Name), KEY ZoneIdIndex (ZoneId), KEY NameIndex (Name) ); -- -- Table structure for table 'Records' -- CREATE TABLE Records ( Id int(10) unsigned NOT NULL auto_increment, ZoneId int(10) unsigned NOT NULL default '0', Name varchar(255) NOT NULL default '', Type varchar(8) NOT NULL default '', Content varchar(255) NOT NULL default '', TimeToLive int(11) NOT NULL default '60', Priority int(11) NOT NULL default '0', Flags int(11) NOT NULL default '0', ChangeDate timestamp(14) NOT NULL, CreateDate timestamp(14) NOT NULL, Active tinyint(4) NOT NULL default '0', PRIMARY KEY (Id), KEY NameIndex (Name) ); -- -- Table structure for table 'WebForwards' -- CREATE TABLE WebForwards ( Id int(10) unsigned NOT NULL auto_increment, ZoneId int(10) unsigned NOT NULL default '0', Name varchar(255) NOT NULL default '', Destination varchar(255) NOT NULL default '', Type varchar(7) NOT NULL default 'NORMAL', Title varchar(255) NOT NULL default '', Description varchar(255) NOT NULL default '', Keywords varchar(255) NOT NULL default '', FavIcon varchar(255) NOT NULL default '', Flags int(11) NOT NULL default '0', ChangeDate timestamp(14) NOT NULL, CreateDate timestamp(14) NOT NULL, Active tinyint(4) NOT NULL default '0', PRIMARY KEY (Id), KEY NameIndex (Name), KEY ZoneIdIndex (ZoneId) ); -- -- Table structure for table 'Zones' -- CREATE TABLE Zones ( Id int(10) unsigned NOT NULL auto_increment, Name varchar(255) NOT NULL default '', Hostmaster varchar(255) NOT NULL default '', Serial int(10) unsigned NOT NULL default '0', AutoSerial tinyint(4) NOT NULL default '0', Flags int(11) NOT NULL default '0', ChangeDate timestamp(14) NOT NULL, CreateDate timestamp(14) NOT NULL, Active tinyint(4) NOT NULL default '0', TimeToLive int(11) NOT NULL default '0', OwnerId varchar(255) NOT NULL default '', PRIMARY KEY (Id), UNIQUE KEY Name (Name), KEY NameIndex (Name) ); </PRE > </P ><P > It takes a number of parameters: </P ><P > <P ></P ><DIV CLASS="VARIABLELIST" ><DL ><DT >pdns-dbname</DT ><DD ><P > Database name to connect to </P ></DD ><DT >pdns-host</DT ><DD ><P > Database host to connect to </P ></DD ><DT >pdns-password</DT ><DD ><P > Password to connect with </P ></DD ><DT >pdns-socket</DT ><DD ><P > MySQL socket to use for connecting </P ></DD ><DT >pdns-user</DT ><DD ><P > MySQL user to connect as </P ></DD ></DL ></DIV > </P ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN4767" >A.4.1. Notes</A ></H2 ><P > It has been observed that InnoDB tables outperform the default MyISAM tables by a large margin. Furthermore, the default number of backends (3) should be raised to 10 or 15 for busy servers. </P ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="randombackend.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="generic-mypgsql-backends.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Random Backend</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="backends-detail.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Generic MySQL and PgSQL backends</TD ></TR ></TABLE ></DIV ></BODY ></HTML >