我最近编写了脚本,自动将新的子域记录输入到PDS mySql数据库中。现在,如果我使用区域管理输入该条目,我的子域将100%工作。现在,如果我使用简单的SQL字符串(如"insert into records (domain_id, name,type,content,ttl,prio) values("; )添加它,它不起作用,我被告知我需要更新serial,但它只是不想生效。我做了以下的date(Ymd)."01",这是行不通的,任何建议都将不胜感激。
发布于 2010-03-16 01:44:26
Alex,对于gmysql后端或任何其他RDBMS后端,您不需要发出任何重新加载命令,PowerDNS将通过查看相应的SOA记录中的串行值来知道区域已经更改。
SOA序列号需要加起来,这意味着它需要是now > then,这样PowerDNS才能将更改通知它的奴隶,因此,如果您用YYYYMMDD01覆盖YYYYMMDD01,则不会对其进行剪切。
还请注意,PowerDNS将向NS记录为给定域条目指定的所有名称服务器发送NOTIFY,但是只有在主模式下运行时才会这样做。也就是说,在master=yes中,默认模式是本机模式,它假定后端数据是通过mysql复制或其他方式在后台同步的。
http://doc.powerdns.com/generic-mypgsql-backends.html#AEN5985
您可以在#powerdns @ irc.oftc.net上访问我们。
发布于 2010-03-15 17:04:30
我本人还没有尝试过这一点,但我认为您需要运行"pdns_control重新加载“来告诉后端进程内容已经更改,并且需要重新读取它们。
以下是pdns内件文档的链接。
https://serverfault.com/questions/122660
复制相似问题