If you are planning to upgrade your PowerDNS server to its latest release and you are using MySQL as backend, here are the things you will need to check to save yourself from unnecessary service downtime:
Uncomment and define the line:
# launch Which backends to launch and order to query them in launch=gmysql
Edit your gmysql.conf file found in /etc/powerdns/pdns.d
# MySQL Configuration # gmysql parameters gmysql-host=127.0.0.1 gmysql-port=3306 gmysql-dbname=pdns gmysql-user=pdns gmysql-password=your_pdns_password gmysql-dnssec=yes #gmysql-socket=/var/run/mysqld/mysqld.sock
records table must have the following fields and properties/attributes:
disabled TINYINT(1) DEFAULT 0, ordername VARCHAR(255) BINARY DEFAULT NULL, auth TINYINT(1) DEFAULT 1,
Once you have your existing data imported to the new server with the latest schema, check the following:
1. records table, auth column must be set to have a value of 1 2. record entries must not have illegal characters
To check that you have the valid records and required fields to run PowerDNS, do the following commands:
pdnssec check-zone yourdomain.com
If there are errors from the above command, make sure to fix them first before you proceed below.
pdnssec rectify-zone yourdomain.com
Again, if errors are showing from the command above, make sure to fix it first and run the above commands again until there are no errors showing anymore.
You may need to restart or reload your PowerDNS process to get all the changes to effect.
service pdns restart
That’s about it. If you have tips that are not mentioned here or if you have questions, Please feel free to drop me a line using the comment box below.