Recommended Free Tools
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
Install PowerDNS Authoritative Server, install its Generic MySQL/MariaDB backend, load the schema that matches your PowerDNS release, and configure launch=gmysql with the MariaDB connection settings. Then create a zone with pdnsutil or the REST API and verify it with dig. The most common startup problems are an incorrect MariaDB socket, a schema from a different PowerDNS release, a conflicting launch directive, or another service already using DNS port 53.
What this setup provides
PowerDNS Authoritative Server answers authoritatively for zones stored in MariaDB. The database is the backend data store; PowerDNS remains the DNS server that listens on UDP and TCP port 53 and responds to queries. The MariaDB integration is called the Generic MySQL/MariaDB backend, and its module and launch name are both gmysql.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
| Component | Role | Important setting or requirement |
|---|---|---|
| PowerDNS Authoritative Server | Listens for DNS queries and serves authoritative answers | The service is normally named pdns |
| MariaDB | Stores domains, records, metadata and related backend data | Use the official schema for the installed PowerDNS release |
| gmysql backend | Connects PowerDNS to MariaDB | Install the distribution’s backend package and set launch=gmysql |
pdnsutil or REST API |
Creates zones and changes records | Prefer these interfaces over direct SQL record editing |
The documented gmysql capability matrix covers native authoritative service, primary and secondary operation, DNS update, autosecondary behavior and DNSSEC. Those capabilities do not remove the need to design transfers, update permissions and failure recovery deliberately.
Prerequisites and design decisions
- A system with a supported package source for PowerDNS Authoritative Server and MariaDB.
- Root or
sudoaccess for package installation, service management and configuration changes. - A MariaDB database server reachable from the PowerDNS host. It may be local over a Unix socket or local/remote over TCP.
- A zone name for testing, such as
example.com, and an address for a test record. - Network access for DNS clients to UDP and TCP port 53 once the server is ready.
Choose the database connection method before writing the configuration. A Unix socket avoids TCP networking for a local database, while TCP is useful when MariaDB is remote or when you want to force a specific local address. PowerDNS treats gmysql-host and gmysql-socket as mutually exclusive methods; configure one, not both.
#1 Best Overall
- Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
- With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
- Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
- Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
- Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.
Install PowerDNS and the gmysql backend
Debian and Ubuntu
PowerDNS documentation states that “PowerDNS Authoritative Server is available through the apt system.” Refresh package metadata and install the server, the gmysql backend and MariaDB if the database is on the same host:
sudo apt update
sudo apt install pdns-server pdns-backend-gmysql mariadb-server
If MariaDB is already provided by another host, omit mariadb-server. The package named pdns-backend-gmysql supplies the backend module; installing only pdns-server is not enough for a MariaDB deployment.
Red Hat family distributions
Use the PowerDNS package from the repository appropriate for your Red Hat family distribution, install pdns, and install the matching package that provides the gmysql/MySQL backend. Package names and repository versions vary by distribution and release, so confirm the backend package’s contents before configuring the service. Install MariaDB server locally only when this host is also the database host.
FreeBSD and macOS
PowerDNS documentation also describes FreeBSD packages and macOS Homebrew installation. The package names, service managers and configuration paths are distribution-specific. After installation, identify the authoritative server binary, the gmysql backend module, the service name and the directory used for PowerDNS configuration fragments before continuing.
Check that the backend package is present
Before changing configuration, verify that the package manager reports both the authoritative server and the gmysql backend as installed. If PowerDNS starts but reports that the gmysql launch name is unknown, the backend package is missing or was built for a different PowerDNS package version.
Create the MariaDB database and account
Start MariaDB and open an administrative session:
sudo systemctl enable --now mariadb
sudo mariadb
Create a dedicated database and account. The following example uses a concrete sample secret; replace it with a long, randomly generated secret in a real deployment and keep it out of shell history and shared documentation.
CREATE DATABASE powerdns;
CREATE USER 'powerdns'@'localhost' IDENTIFIED BY 'N7!mQ3#vL8@pR2$kX5';
CREATE USER 'powerdns'@'127.0.0.1' IDENTIFIED BY 'N7!mQ3#vL8@pR2$kX5';
GRANT ALL PRIVILEGES ON powerdns.* TO 'powerdns'@'localhost';
GRANT ALL PRIVILEGES ON powerdns.* TO 'powerdns'@'127.0.0.1';
FLUSH PRIVILEGES;
EXIT;
Use only the account host that matches your selected connection method if you want a tighter grant. A connection through a Unix socket commonly authenticates as localhost; a TCP connection to 127.0.0.1 uses the TCP account. For a remote database, create an account restricted to the PowerDNS host’s address rather than using a broad wildcard host.
Rank #2
- Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
- Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
- Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
- Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
- Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
Load the release-matched gmysql schema
PowerDNS requires the schema documented for the gmysql backend. Do not copy a schema from an unrelated tutorial or a different major release: tables and columns can change, and a mismatch may appear only when a zone transfer, DNSSEC operation or record update is attempted.
- Obtain the default gmysql schema from the PowerDNS documentation for the exact release installed on the server.
- Save the file locally as
schema.mysql.sql(decompress it first if the distribution supplies a compressed SQL file). - Import it into the database created above:
mariadb -u powerdns -p powerdns < schema.mysql.sql
Enter the database account’s password when prompted. The documented schema includes tables such as domains and records and uses InnoDB. InnoDB is important for transaction-aware operations; the documentation warns that non-transaction-aware engines can cause failures during operations such as incoming zone transfers.
Confirm that the import created tables and that they use InnoDB:
mariadb -u powerdns -p powerdns -e "SHOW TABLES;"
mariadb -u powerdns -p powerdns -e "SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA='powerdns';"
Every table used by the backend should report the engine expected by the release schema. If the import fails, stop and correct the schema or database permissions before starting PowerDNS; changing table definitions by guesswork can leave a partially compatible database.
Configure PowerDNS to use MariaDB
Create a protected configuration fragment
On Debian-based installations, place a small fragment in the distribution’s PowerDNS configuration directory, commonly /etc/powerdns/pdns.d/. A file such as 99-gmysql.conf makes the backend settings easy to audit. PowerDNS loads .conf files in order, so inspect the main configuration and other fragments for old launch lines.
launch=gmysql
gmysql-host=127.0.0.1
gmysql-port=3306
gmysql-dbname=powerdns
gmysql-user=powerdns
gmysql-password=N7!mQ3#vL8@pR2$kX5
gmysql-dnssec=no
This example forces a TCP connection to the local MariaDB listener. If you use a Unix socket instead, remove gmysql-host and set the actual socket path:
launch=gmysql
gmysql-socket=/run/mysqld/mysqld.sock
gmysql-dbname=powerdns
gmysql-user=powerdns
gmysql-password=N7!mQ3#vL8@pR2$kX5
gmysql-dnssec=no
Do not leave both gmysql-host and gmysql-socket active. The principal backend settings are:
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsRank #3
- 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
- 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
- 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
- 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
- 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.
| Setting | Purpose and documented default |
|---|---|
launch |
Selects the backend PowerDNS starts. Set it to gmysql. |
gmysql-host |
MariaDB host name or address. Use this for TCP; do not combine it with gmysql-socket. |
gmysql-socket |
Unix socket path for a local MariaDB connection. It is mutually exclusive with gmysql-host. |
gmysql-port |
TCP port; the documented default is 3306. |
gmysql-dbname |
Database name; the documented default is powerdns. |
gmysql-user |
Database user; the documented default is powerdns. |
gmysql-password |
Password for the database account. |
gmysql-dnssec |
Enables the backend’s DNSSEC-related behavior; the documented default is disabled. |
gmysql-group |
Selects the MariaDB client option group when you use client configuration groups. |
Set gmysql-dnssec=yes only when your zone-management and signing plan requires the backend’s DNSSEC support. Enabling it does not by itself publish a complete DNSSEC delegation; you still need correct keys, records, signing operations and parent-zone configuration.
Protect credentials and remove conflicts
Limit read access to the fragment because it contains a database password. On systems where the service runs as the pdns user, make sure that user can read the file while unprivileged users cannot. The exact owner and group depend on the distribution.
Search all PowerDNS configuration files for duplicate or contradictory directives. A later fragment can override an earlier value, and a second launch setting can start a different backend or prevent the intended one from loading. Keep one authoritative launch=gmysql choice for this deployment.
Use MariaDB client configuration for TLS options
For newer PowerDNS releases, TLS connection settings belong in the MariaDB client configuration rather than in obsolete PowerDNS-specific options. If the database is remote or policy requires encryption, configure and test TLS in the MariaDB client option group selected by gmysql-group, then verify the client can connect before restarting PowerDNS.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallStart PowerDNS and create a test zone
- Restart the authoritative server so it reads the schema and backend fragment:
sudo systemctl restart pdns
sudo systemctl enable pdns
sudo systemctl status pdns --no-pager
- Create a test zone with
pdnsutil. The exact command syntax can vary slightly by release; usepdnsutil --helpon the installed version:
sudo pdnsutil create-zone example.com ns1.example.com
- Add an address record:
sudo pdnsutil add-record example.com www A 192.0.2.10
- Inspect the zone and confirm that the records are stored through the backend:
sudo pdnsutil list-zone example.com
Use the REST API instead of pdnsutil when your provisioning system needs an HTTP interface. Both approaches keep record changes aligned with PowerDNS’s expected metadata and serial handling. Avoid editing the records table directly unless you are carrying out a carefully controlled administrative repair and understand the release-specific schema.
Validate authoritative answers with dig
Query the local server directly so that another resolver cannot hide a backend or delegation problem:
dig @127.0.0.1 example.com SOA +norecurse
dig @127.0.0.1 www.example.com A +norecurse
The response should come from the PowerDNS host and contain the zone’s SOA and the address record you added. An authoritative response normally has the AA flag. If you configured a non-default local listening address or port for testing, specify that address and port in dig.
Rank #4
- 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
- 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
- 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
- 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
- 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
Testing locally proves that PowerDNS and MariaDB work together; it does not complete public DNS delegation. For Internet service, publish the authoritative nameserver addresses at the registrar or parent zone, provide glue when a nameserver is inside its own domain, allow both UDP and TCP port 53 through firewalls, and ensure the server is reachable from outside its local network.
Foreground diagnostics when startup fails
When the service manager shows only a generic failure, run PowerDNS in the foreground. The documented diagnostic pattern disables normal configuration loading, keeps the process attached to the terminal and moves the test listener to port 5300:
sudo -u pdns pdns_server --no-config --daemon=no --local-port=5300 --launch=gmysql --gmysql-host=127.0.0.1 --gmysql-port=3306 --gmysql-dbname=powerdns --gmysql-user=powerdns --gmysql-password='N7!mQ3#vL8@pR2$kX5'
Use this only as a temporary diagnostic. A password supplied on a command line can be visible to other users through process inspection and may remain in shell history. Stop the foreground process with Ctrl-C after collecting the error, then fix the protected configuration fragment.
Troubleshoot the common failure branches
“Access denied” or authentication errors
- Confirm the database name, user and password in the PowerDNS fragment.
- Check that the MariaDB account host matches the connection method:
localhostfor a socket-style connection or127.0.0.1for a TCP connection. - Test the same credentials manually with the MariaDB client from the PowerDNS host.
- Verify that the account has privileges on the
powerdnsdatabase and that privileges were flushed or reloaded after changes.
“Can’t connect” or a socket-file error
Find the socket MariaDB is actually using rather than assuming a path from another distribution:
mariadb-admin variables | grep socket
Set gmysql-socket to that path and remove gmysql-host, or force TCP with gmysql-host=127.0.0.1 and the correct port. The official troubleshooting guidance specifically calls out incorrect socket discovery and recommends one of those two corrections.
Free tools Windows power users keep installed
One-click scans. No signup required.
“Address already in use” on port 53
Another nameserver, resolver, container or test process may already own UDP or TCP port 53. Identify it before changing PowerDNS:
sudo ss -ltnup | grep ':53'
Stop or reconfigure the conflicting service if PowerDNS is meant to be the host’s authoritative server. For an isolated diagnostic, use a different local port such as 5300, but do not treat a non-53 test listener as a production configuration.
Best Value
- 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
- 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
- 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
- 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
- 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
PowerDNS starts but the zone is missing
- Check that
launch=gmysqlis the effective setting and that a later configuration file did not select another backend. - Confirm that the schema was imported into the same database named by
gmysql-dbname. - Run
pdnsutil list-zone example.comand inspect the database’sdomainstable to ensure the zone was created. - Verify that the query is sent to the PowerDNS address, not to a recursive resolver or another local nameserver.
Records change but answers look old
Use pdnsutil or the REST API for the change, then query the authoritative server directly. A recursive resolver may retain an earlier answer until its TTL expires. Ensure that the zone serial is advanced by the supported management path and that the record name, type and content are exactly what the query requests.
Zone-transfer or transaction failures
Recheck the storage engine. The documented schema uses InnoDB because transaction-aware behavior is needed for operations such as incoming transfers. Converting only one table, mixing schema revisions or using a non-transaction-aware engine can produce failures that do not appear during a simple SOA query.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Operate the installation safely
Keep schema and package versions aligned
When upgrading PowerDNS, read the release-specific gmysql schema and migration guidance before starting the new server. Keep a database backup and test the upgraded service with a staging zone. Do not assume that a schema imported for one release is valid for every later release.
Back up the authoritative data
Back up the MariaDB database and retain a copy of the PowerDNS configuration fragments separately. A simple logical backup is:
mariadb-dump --single-transaction powerdns > powerdns.sql
Protect the dump because it contains the complete zone data and may include sensitive operational metadata. Test restoration to an isolated MariaDB instance rather than assuming that a successful dump alone proves recoverability.
Limit database privileges
Use a dedicated account for PowerDNS, restrict its host pattern and grant access only to the PowerDNS database. Do not use the MariaDB root account in pdns.conf. Keep the password-bearing fragment readable only by the service and administrators.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Plan primary, secondary and DNSSEC roles
The gmysql backend supports primary and secondary roles, DNS update, autosecondary behavior and DNSSEC, but each feature requires additional policy. Decide which servers accept updates, which servers transfer zones, how TSIG or equivalent authentication is handled, how serials are managed, and how DNSSEC keys and parent DS records are maintained. Enable only the roles you have configured and tested.
Self-hosted PowerDNS or managed authoritative DNS?
Running PowerDNS with MariaDB gives you control over the server, database and update workflow. A managed authoritative service removes much of the operating burden. The choice is primarily operational rather than a difference in DNS protocol semantics.
Quick Recap
| Decision factor | Self-hosted PowerDNS with MariaDB | Managed authoritative DNS |
|---|---|---|
| Operational control | You control packages, configuration, database schema, logging and change paths. | The provider controls the service software and much of the platform configuration. |
| MariaDB responsibility | You handle backups, upgrades, replication, credentials, storage and failure recovery. | You generally do not operate the underlying database. |
| Updates and DNSSEC | The gmysql backend supports DNS update and DNSSEC, but you must configure and secure them. | Features and limits depend on the service contract and implementation. |
| Scaling and secondary design | You design primary/secondary placement, transfers, monitoring and capacity. | Some scaling and secondary infrastructure may be included, subject to the provider’s design. |
| Failure handling | You must detect database, host, network and port-53 failures and maintain recovery procedures. | The provider handles platform incidents, while you remain responsible for delegation and data correctness. |
| Total operating cost | Includes servers, storage, administration, monitoring, backups and incident response. | Usually appears as a service charge, with less infrastructure administration. |
End-to-end verification checklist
- Packages:
pdns-serverandpdns-backend-gmysqlare installed on Debian-based systems, or their distribution equivalents elsewhere. - Database: The
powerdnsdatabase and a dedicated account exist, and manual login works using the same host or socket method as PowerDNS. - Schema: The official schema for the installed PowerDNS release is imported, and its tables use InnoDB.
- Configuration: The effective settings contain
launch=gmysql, one ofgmysql-hostorgmysql-socket, the correct database credentials and the intended DNSSEC setting. - Permissions: The service can read the protected configuration fragment, while ordinary users cannot.
- Service:
pdnsstarts without errors and no other process occupies UDP or TCP port 53. - Zone: A zone created with
pdnsutilor the REST API appears in the backend and has an SOA record. - Query:
digdirected at the PowerDNS address returns the expected authoritative answer. - Operations: Backups, upgrades, transfers, DNS updates and DNSSEC procedures are documented and tested before production use.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

