<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Development Cycle &#187; Replication</title>
	<atom:link href="http://www.development-cycle.com/tag/replication/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.development-cycle.com</link>
	<description>Binary Bits &#38; Pieces</description>
	<lastBuildDate>Fri, 04 May 2012 05:21:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Near Realtime File Replication With Lsyncd</title>
		<link>http://www.development-cycle.com/2011/07/near-realtime-file-replication-with-lsyncd/</link>
		<comments>http://www.development-cycle.com/2011/07/near-realtime-file-replication-with-lsyncd/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 08:28:46 +0000</pubDate>
		<dc:creator>Anthony Mills</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[CentOs]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[Replication]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.development-cycle.com/?p=436</guid>
		<description><![CDATA[Ever wanted real time backups of  directories on your server? To replicate static media files for a website to a separate box to reduce load? An easy solution lays with lsyncd it allows you to watch a directory structure on your file system, and replicate any changes on a remote system. How It Works: inotify [...]]]></description>
			<content:encoded><![CDATA[<p>Ever wanted real time backups of  directories on your server? To replicate static media files for a website to a separate box to reduce load? An easy <a title="lsyncd home a Google Code" href="http://code.google.com/p/lsyncd/" target="_blank">solution lays with lsyncd</a> it allows you to watch a directory structure on your file system, and replicate any changes on a remote system.</p>
<p title="Rsync Software Homepage"><strong>How It Works:</strong><br />
<a title="inotify wikipedia page" href="http://en.wikipedia.org/wiki/Inotify" target="_blank">inotify is a Linux subsystem available</a> from the 2.6.13 release of the Linux kernel that monitors changes made to a file system and reports these changes to interested applications. lsyncd is an application <a title="The Lua Programming Language" href="http://www.lua.org/" target="_blank">written in lua</a> that uses the inotify service to inform it of changes made to monitored directories and then when notified of a change <a title="Rsync Software Homepage" href="http://rsync.samba.org/" target="_blank">uses rsync to replicate</a> the changes on a remote service.</p>
<p><strong>Getting lsyncd</strong><br />
The <a title="lsyncd downloads" href="http://code.google.com/p/lsyncd/downloads/list" target="_blank">lsyncd sourcecode can be downloaded from Google Code</a> and compiled but depending on the distribution your server is running, the install process be even easier as lsyncd is included in the repositories of many popular Linux distros.</p>
<p><strong>Installing On Debian / Ubuntu</strong><br />
While lsyncd is included in both the repositories of Debian and Ubuntu but unfortunately its an outdated version so check what version you are going to get beforehand with the command:</p>
<p><em>apt-cache show lsyncd</em></p>
<p>If apt-cache tells you that only one of the 1.x versions are available, I would recommend grabbing one of the 2.x versions from the <a title="Debian GNU / Linux" href="http://www.debian.org/" target="_blank">Debian</a> testing repository instead, the <a title="lsyncd 2.0.4 package for amd64" href="http://packages.debian.org/wheezy/amd64/lsyncd/download or the i386" target="_blank">amd64 package can be found here</a>  and one for the <a title="i386 Debian lsyncd 2.0.4 package" href="http://packages.debian.org/wheezy/i386/lsyncd/download" target="_blank">i386 architecture here</a>. Then install using the dpkg command i.e</p>
<p><em>cd /root</em><br />
<em> wget wget http://ftp.au.debian.org/debian/pool/main/l/lsyncd/lsyncd_2.0.4-1_amd64.deb</em><br />
<em> apt-get install lua5.1 rsync</em><br />
<em> dpkg -i lsyncd_2.0.4-1_amd64.deb</em></p>
<p><span id="more-436"></span><strong>CentOS 5 Installation</strong></p>
<p><em>yum install lsyncd.x86_64</em></p>
<p><strong>Preparation</strong><br />
First step for getting started with lsync over two hosts is to create a shared SSH key to allow authentication without a password.</p>
<p><em>ssh-keygen</em></p>
<p>Now transfer the servers newly generated public key to the second server you are going to mirror content to.</p>
<p><em>scp ~/.ssh/id_rsa.pub root@my2ndserver:/tmp</em></p>
<p>After copying the file the second server add the public key to the ssh <em>authorized_keys</em> file.</p>
<p><em>cat /tmp/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys</em></p>
<p>While you are logged into the second machine also double check that rsync is installed and install it if it isn&#8217;t. Now decide the directory you would like to mirror across your machines. In this example I am just going to keep it simple by starting fresh and creating a new directory in the same location on both of my servers:</p>
<p><em>mkdir /home/mirror</em></p>
<p><strong>Quick Test Run</strong><br />
<em>cd /home/mirror</em><br />
<em>touch test_file</em><br />
<em>lsyncd -log all -nodaemon -rsyncssh /home/mirror sync@my2ndserver /home/mirror</em></p>
<p>(<em><strong>Note:</strong></em> Unlike the <a title="Secure Copy Manpage" href="http://linux.die.net/man/1/scp" target="_blank">scp command</a> the target host and directory are given as two separate arguments to lsyncd at the command line)</p>
<p>Which should produce output that looks something similar to:</p>
<p><em>kernels clocks_per_sec=100</em><br />
<em>Call: configure()</em><br />
<em>Inotify: inotify fd = 3</em><br />
<em>Call: initialize()</em><br />
<em>10:08:17 Function: Inotify.addWatch(/home/mirror/, (true), (nil), (nil))</em><br />
<em>10:08:17 Inotify: addwatch(/home/mirror/)-&gt;1</em><br />
<em>10:08:17 Normal: recursive startup rsync: /home/mirror/ -&gt; sync@192.168.20.127:/home/mirror/</em><br />
<em>10:08:17 Exec: /usr/bin/rsync [--delete] [-r] [-lts] [/home/mirror/] [sync@192.168.20.127:/home/mirror/]</em><br />
<em>10:08:17 Call: getAlarm()</em><br />
<em>10:08:17 Debug: getAlarm returns: (false)</em><br />
<em>10:08:17 Masterloop: going into select (no timeout).</em><br />
<em>10:08:17 Call: collectProcess()</em><br />
<em>10:08:17 Delay: collected an event</em><br />
<em>10:08:17 Normal: Startup of &#8216;/home/mirror/&#8217; finished.</em><br />
<em>10:08:17 Normal: Finished Blanket on /home/mirror/ = 0</em><br />
<em>10:08:17 Delay: Finish of Blanket on /home/mirror/ = 0</em><br />
<em>10:08:17 Call: cycle()</em><br />
<em>10:08:17 Function: invokeActions(&#8216;Sync1&#8242;,(Timestamp: 17184171.29))</em><br />
<em>10:08:17 Call: getAlarm()</em><br />
<em>10:08:17 Debug: getAlarm returns: (false)</em><br />
<em>10:08:17 Masterloop: going into select (no timeout).</em></p>
<p>Look in the mirror directory on the second server and with any luck you should see your test file has migrated across from the first server.</p>
<p><strong>Potential Issues</strong><br />
When performing the test run you may get some output that appears similar to the text below:</p>
<p><em>kernels clocks_per_sec=100</em><br />
<em>Call: configure()</em><br />
<em>Inotify: inotify fd = 3</em><br />
<em>Call: initialize()</em><br />
<em>10:14:39 Function: Inotify.addWatch(/home/mirror/, (true), (nil), (nil))</em><br />
<em>10:14:39 Inotify: addwatch(/home/mirror/)-&gt;1</em><br />
<em>10:14:39 Normal: recursive startup rsync: /home/mirror/ -&gt; root@192.168.20.131:/home/mirror/</em><br />
<em>10:14:39 Exec: /usr/bin/rsync [--delete] [-r] [-lts] [/home/mirror/] [root@192.168.20.131:/home/mirror/]</em><br />
<em>10:14:39 Call: getAlarm()</em><br />
<em>10:14:39 Debug: getAlarm returns: (false)</em><br />
<em>10:14:39 Masterloop: going into select (no timeout).</em><br />
<em>rsync: on remote machine: -sltre.iLsf: unknown option</em><br />
<em>rsync error: syntax or usage error (code 1) at main.c(1231) [server=2.6.8]</em><br />
<em>rsync: connection unexpectedly closed (0 bytes received so far) [sender]</em><br />
<em>rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]</em><br />
<em>10:14:39 Call: collectProcess()</em><br />
<em>10:14:39 Delay: collected an event</em><br />
<em>10:14:39 Error: Failure on startup of &#8216;/home/mirror/&#8217;.</em></p>
<p>This tends to happen if you are using an older version of rsync on the 2nd server, no need to stress though I found when creating a config file for lysncd removing the -s rsync option seemed to solve this issue.</p>
<p><strong>Creating A Config File</strong><br />
Fire up your preferred editor and create a new file to store your configuration:</p>
<p><em>nano /etc/lsyncd.conf</em></p>
<p>With the contents:</p>
<p><em>settings = {</em><br />
<em>   logfile    = &#8220;/var/log/lsyncd.log&#8221;,</em><br />
<em>}</em></p>
<p><em>sync{default.rsync, source=&#8221;/home/mirror&#8221;, target=&#8221;192.168.20.131:/home/mirror&#8221;, rsyncOps=&#8221;-rltvu&#8221;}</em></p>
<p>Then start the deamon with the comand:</p>
<p><em>lsyncd /etc/lsyncd.conf</em></p>
<p>This will start the daemon in the background, go create a new file in your mirror directory then watch the log with the tail command:</p>
<p><em>tail -f /var/log/lsyncd.log</em></p>
<p>With any luck you should be able to see your newly created file getting picked up by lsyncd and mirrored on your second server.</p>
<p><em>Sun Jul 17 11:03:09 2011 Normal: Calling rsync with filter-list of new/modified files/dirs</em><br />
<em>/myfile.txt</em><br />
<em>/</em><br />
<em>building file list &#8230; done</em><br />
<em>./</em><br />
<em>myfile.txt</em></p>
<p><em>sent 139 bytes  received 48 bytes  374.00 bytes/sec</em><br />
<em>total size is 0  speedup is 0.00</em><br />
<em>Sun Jul 17 11:03:09 2011 Normal: Finished a list = 0</em></p>
<p>As you can see the process is not instantaneous with around a 5 &#8211; 15 second delay before initiating a transfer and obviously the delay while the file itself transfers across but it is handy for backups and other situations where a small delay is not too much of a concern.</p>
<p><strong>Further Reading:</strong></p>
<p><a title="lsyncd manual" href="http://code.google.com/p/lsyncd/wiki/Lsyncd20Manual" target="_blank">The lsyncd manual<strong></strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.development-cycle.com/2011/07/near-realtime-file-replication-with-lsyncd/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Setting Up PowerDNS With A MySQL Backend On Ubuntu 9.10</title>
		<link>http://www.development-cycle.com/2009/12/setting-up-powerdns-with-a-mysql-backend-on-ubuntu-9-10/</link>
		<comments>http://www.development-cycle.com/2009/12/setting-up-powerdns-with-a-mysql-backend-on-ubuntu-9-10/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 02:21:39 +0000</pubDate>
		<dc:creator>Anthony Mills</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PowerDNS]]></category>
		<category><![CDATA[Replication]]></category>

		<guid isPermaLink="false">http://www.development-cycle.com/?p=201</guid>
		<description><![CDATA[Bind9 has treated us well over the years, but its lack of support for database back ends in a default install is very annoying, especially when an application needs to control DNS services dynamically. PowerDNS is a powerful alternative it supports a wide variety of back ends and can also be configured to serve different [...]]]></description>
			<content:encoded><![CDATA[<p>Bind9 has treated us well over the years, but its lack of support for database back ends in a default install is very annoying, especially when an application needs to control DNS  services dynamically. PowerDNS is a powerful alternative it supports a wide variety of back ends and can also be configured to serve different records dependant on the clients Geographical location making it a valuable asset in these coming days of private clouds gaining traction.</p>
<p>This article will walk you through the process of setting up a PowerDNS server with a replicated MySQL back end on two Ubuntu 9.10 systems.</p>
<h2>Step 1 &#8211; Configuring the Master Nameserver</h2>
<p>This nameserver is going to be your primary server, any changes that need to be made to the DNS records are made on this server and they will be replicated on the the slave. To get started log into your primary name server via SSH and execute:</p>
<p><i><br />
apt-get update<br />
apt-get install apt-get install pdns-server pdns-backend-mysql mysql-server<br />
</i></p>
<p>When prompted by the installer create a password for the MySQL root user and then configure the MySQL service itself:</p>
<p><i>pico /etc/mysql/my.cnf</i></p>
<p>Go down to line 53, it should look like the line below comment it out.</p>
<p><i>bind-address  = 127.0.0.1 </i> <strong><- becomes -></strong> <i># bind-address  = 127.0.0.1 </i></p>
<p>This is needed so the slave server can talk to the master and be aware of any changes made to its records. Save the file, then restart the MySQL service to make your changes active.</p>
<p><i>/etc/init.d/mysql restart</i></p>
<p>Okay now its time to sort out the database side of things by creating a MySQL user for PowerDNS to use and the database for the storage of its DNS records:</p>
<p><i>mysql -u root -p</i></p>
<p>Whilst in the MySQL client execute the following commands:</p>
<p><i>CREATE DATABASE dns_server;</i></p>
<p><i>GRANT ALL ON dns_server.* TO &#8216;pdns&#8217;@'localhost&#8217; IDENTIFIED BY &#8216;pdns_pass&#8217;;</i></p>
<p><strong>NOTE:</strong> Be sure to change the password for the pdns user to something a tad stronger.</p>
<p><i>GRANT ALL ON dns_server.* TO &#8216;pdns&#8217;@'localhost.localdomain&#8217; IDENTIFIED BY &#8216;pdns_pass&#8217;;</i></p>
<p><i>FLUSH PRIVILEGES;</i></p>
<p><i>USE dns_server;</i></p>
<p><i>CREATE TABLE domains (<br />
id INT auto_increment,<br />
name VARCHAR(255) NOT NULL,<br />
master VARCHAR(128) DEFAULT NULL,<br />
last_check INT DEFAULT NULL,<br />
type VARCHAR(6) NOT NULL,<br />
notified_serial INT DEFAULT NULL,<br />
account VARCHAR(40) DEFAULT NULL,<br />
primary key (id)<br />
);</i></p>
<p><i>CREATE UNIQUE INDEX name_index ON domains(name);</i></p>
<p><i>CREATE TABLE records (<br />
id INT auto_increment,<br />
domain_id INT DEFAULT NULL,<br />
name VARCHAR(255) DEFAULT NULL,<br />
type VARCHAR(6) DEFAULT NULL,<br />
content VARCHAR(255) DEFAULT NULL,<br />
ttl INT DEFAULT NULL,<br />
prio INT DEFAULT NULL,<br />
change_date INT DEFAULT NULL,<br />
primary key(id)<br />
);</i></p>
<p><i>CREATE INDEX rec_name_index ON records(name);</i><br />
<i>CREATE INDEX nametype_index ON records(name,type);</i><br />
<i>CREATE INDEX domain_id ON records(domain_id);</i><br />
<i><br />
CREATE TABLE supermasters (<br />
ip VARCHAR(25) NOT NULL,<br />
nameserver VARCHAR(255) NOT NULL,<br />
account VARCHAR(40) DEFAULT NULL<br />
);</i></p>
<p>Then exit the MySQL client with the command:</p>
<p><i>exit;</i></p>
<p>Alternatively if you don&#8217;t feel that comfortable using the command line MySQL client you could install phpmyadmin and use that to create the database and user within web based environment.</p>
<p>Now that the database has been setup we need to configure PowerDNS to use our newly created MySQL database and user for any lookups it needs to make.</p>
<p><i>pico /etc/powerdns/pdns.conf</i></p>
<p>Go down to line 82 or thereabouts and find the line:</p>
<p><i># launch=</i></p>
<p>Uncomment this line and modify so that it reads:</p>
<p><i>launch=gmysql </i></p>
<p>Edit the file /etc/powerdns/pdns.d/pdns.local</p>
<p>:</p>
<p><i>pico ﻿ /etc/powerdns/pdns.d/pdns.local</i></p>
<p>Add the following lines so that PowerDNS can connect with the MySQL service. </p>
<p><i>gmysql-host=127.0.0.1</i><br />
<i>gmysql-user=pdns</i><br />
<i>gmysql-password=pdns_pass</i><br />
<i>gmysql-dbname=dns_server</i></p>
<p>Save the file and its show time, just restart the PowerDNS service for your changes to take effect and the DNS side of your server should be good to go!</p>
<p><i>/etc/init.d/pdns restart</i></p>
<h2>Step 2 &#8211; Setting up PowerAdmin</h2>
<p>Okay its working but not very useful at the present, as it has no DNS records to serve. So lets install PowerAdmin so we can manage our DNS records using a web based interface. I am assuming the server you are working on already has Apache2, PHP and its modules installed already. If this is not the case you will need to install these before continuing as they are required for the operation PowerAdmin.</p>
<p>PowerAdmin also requires the mdb2 module to work properly, which i doubt many people will have installed already. So:</p>
<p><i>apt-get install php-mdb2-driver-mysql </i></p>
<p>Or on some older versions of Ubuntu it wont be in the repository so make sure you have PEAR installed and</p>
<p><i>apt-get install php-pear</i><br />
<i>pear install MDB2-2.5.0b2</i><br />
<i>pear install MDB2_Driver_mysql-1.5.0b2</i></p>
<p>Then continue the poweradmin install with:</p>
<p><i>cd /tmp</i><br />
<i>wget https://www.poweradmin.org/download/poweradmin-2.1.3.tgz</i><br />
<i>tar zxvf poweradmin-2.1.3.tgz</i><br />
<i>mv poweradmin-2.1.3 /var/www/poweradmin</i><br />
<i>cd /var/www/poweradmin</i></p>
<p>Now the code base is in place open your browser and point it at the Poweradmin location to continue the install process e.g <i>http://ns1.mydomain.com/poweradmin/install</i></p>
<p>Follow the install instructions and when you reach step 6 of the install process copy the PHP code displayed on screen, go back to your terminal window create the file:</p>
<p><i>pico /var/www/poweradmin/inc/config.inc.php</i></p>
<p>Then paste the code from the browser window into the new file and save.</p>
<p><strong>NOTE:</strong> The browser gives you the code with white space between some of the lines make sure these have been removed before saving the file. Otherwise after logging in you will be greeted by a &#8220;<strong>Warning: Cannot modify header information</strong>&#8221; PHP error.</p>
<p>Step 7 is the last step of the install process and simply asks you to delete the install directory. If you fail to complete this step,  the program will not let you login!</p>
<p><i>rm -rf /var/www/poweradmin/install</i></p>
<p>The operation of PowerAdmin is pretty straight forward although if you have only used Bind in the past you may find some of the terms a little confusing. A quick look at the <a href="http://www.powerdns.com/en/documentation.aspx" target="_blank" rel="nofollow">PowerDNS documentation</a> should point you in the right direction though.</p>
<h2>Step 3 &#8211; Replicating Changes on the Slave Server</h2>
<p>Log in to the server you will be using as your MySQL slave. Update the repositories and then install the MySQL server application:</p>
<p><em>apt-get update</em><br />
<em>apt-get install mysql-server</em></p>
<p>On your master server edit the <em>/etc/mysql/my.cnf</em> file go down to around line 92. Uncomment and modify the lines that regard replication so they resemble:</p>
<p><em>server-id               = 1</em><br />
<em>log_bin                 = /var/log/mysql/mysql-bin.log</em><br />
<em>expire_logs_days        = 10</em><br />
<em>max_binlog_size         = 100M</em><br />
<em>binlog_do_db            = dns_server</em></p>
<p>Save your changes to the file and then open up the MySQL client to create a new user for the replication process:</p>
<p><em>﻿CREATE USER &#8216;replication_user&#8217;@&#8217;192.168.0.2&#8242; IDENTIFIED BY &#8216;mypassword&#8217;;</em></p>
<p><em> GRANT REPLICATION SLAVE ON * . * TO &#8216;replication_user&#8217;@&#8217;192.168.0.2&#8242; IDENTIFIED BY &#8216;mypassword&#8217;;</em></p>
<p><strong>NOTE:</strong> replace the IP address &#8216;<em>192&#8242;.168.0.2</em>&#8216; with the IP of your slave server, and change the password to something a bit stronger than &#8216;<em>mypassword</em>&#8216;</p>
<p>Now edit the <em>/etc/mysql/my.cnf</em> file of your slave server and append the following lines after the [mysqld] declaration so that the slave can connect to its master:</p>
<p><em>﻿server-id=2</em><br />
<em>master-host = 192.168.0.1</em><br />
<em>master-user = replication_user</em><br />
<em>master-password = mypassword</em><br />
<em>master-port = 3306</em></p>
<p>Be sure to change the ip address of the master server and the users password to match your setup. Save the file and restart the MySQL service on both the Master and Slave nodes so that your changes will take effect.</p>
<p>On the slave now use the <em>mysql</em> command line tool and execute the following commands:
<p><em>start slave;</em><br />
<em>show slave status\G;</em></p>
<p>You you should see something like:</p>
<p><em><br />
*************************** 1. row ***************************<br />
             Slave_IO_State: Waiting for master to send event<br />
                Master_Host: 192.168.0.1<br />
                Master_User: replication_user<br />
                Master_Port: 3306<br />
              Connect_Retry: 60<br />
            Master_Log_File: mysqld-bin.000001<br />
        Read_Master_Log_Pos: 98<br />
             Relay_Log_File: mysqld-relay-bin.000002<br />
              Relay_Log_Pos: 236<br />
      Relay_Master_Log_File: mysqld-bin.000001<br />
           Slave_IO_Running: Yes<br />
          Slave_SQL_Running: Yes<br />
            Replicate_Do_DB:<br />
        Replicate_Ignore_DB:<br />
         Replicate_Do_Table:<br />
     Replicate_Ignore_Table:<br />
    Replicate_Wild_Do_Table:<br />
Replicate_Wild_Ignore_Table:<br />
                 Last_Errno: 0<br />
                 Last_Error:<br />
               Skip_Counter: 0<br />
        Exec_Master_Log_Pos: 98<br />
            Relay_Log_Space: 236<br />
            Until_Condition: None<br />
             Until_Log_File:<br />
              Until_Log_Pos: 0<br />
         Master_SSL_Allowed: No<br />
         Master_SSL_CA_File:<br />
         Master_SSL_CA_Path:<br />
            Master_SSL_Cert:<br />
          Master_SSL_Cipher:<br />
             Master_SSL_Key:<br />
      Seconds_Behind_Master: 0<br />
1 row in set (0.00 sec)</em></p>
<p>Now test it by creating a record on the master and with any luck you will also be able to see it on the slave. That said i stuffed around a bit when setting mine up and the slave service wouldn&#8217;t start as it was looking for the wrong bin file on the master. I was able to <a rel="nofollow" target="_blank" href="http://forums.mysql.com/read.php?26,94292,134637#msg-134637">follow these instructions</a> though to point the slave in the right direction to get it working again.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.development-cycle.com/2009/12/setting-up-powerdns-with-a-mysql-backend-on-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: www.development-cycle.com @ 2012-05-19 21:25:25 -->
