网站大量收购独家精品文档,联系QQ:2885784924

FreeBSD全能服务器安装手册之域名服务器篇之DNS(数据库)篇.doc

FreeBSD全能服务器安装手册之域名服务器篇之DNS(数据库)篇.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FreeBSD全能服务器安装手册之域名服务器篇之DNS(数据库)篇

FreeBSD全能服务器安装手册之域名服务器篇之DNS(数据库)篇 #################################下载并解压缩安装包################################ cd /usr/ports/dns/bind9 //下载bind9.3.1 make fetch cd /usr/ports/distfiles/ //解压缩bind9.3.* tar zxvf bind-9.3.*.tar.gz chown -R root:wheel bind-9.3.* ###############################生成mysqldb.c文件################################## cd /usr/ports/distfiles/bind-9.3.*/bin/named/ //生成mysqldb.c 注意:必须采用touch命令生成文件,因为有些时候用其他命令生成的文件是不能被程序识别的。 touch mysqldb.c //编辑mysqldb.c /* 增加以下内容(此为mysqldb.c的原版文档亦可从以下连接直*/sourceforge/mysql-bind/mysql-bind-0-1.tgz)*/ #include config.h #include stdio.h #include string.h #include stdlib.h #include mysql.h #include isc/mem.h #include isc/print.h #include isc/result.h #include isc/util.h #include dns/sdb.h #include dns/result.h #include named/globals.h #include mysqldb.h static dns_sdbimplementation_t *mysqldb = NULL; struct dbinfo { MYSQL *mysql; char *database; char *table; char *host; char *user; char *passwd; }; static void mysqldb_destroy(const char *zone, void *driverdata, void **dbdata); /* * Canonicalize a string before writing it to the database. * dest must be an array of at least size 2*strlen(source) + 1. */ static void quotestring(const char *source, char *dest) { while (*source != 0) { if (*source == \) *dest++ = \; *dest++ = *source++; } *dest++ = 0; } /* * Connect to the database. */ static isc_result_t db_connect(struct dbinfo *dbi) { dbi-mysql = mysql_init(0); if (!mysql_real_connect(dbi-mysql, dbi-host, dbi-user, dbi-passwd, dbi-database, 0, NULL, 0)) return (ISC_R_FAILURE); return (ISC_R_SUCCESS); } /* * Check to see if the connection is still valid. If not, attempt to * reconnect. */ static isc_result_t maybe_reconnect(struct dbinfo *dbi) { if (dbi-mysql != NULL) return (ISC_R_SUCCESS); return (db_connect(dbi)); } /* * This database operates on absolute names. * * Queries are converted into SQL queries and issued synchronously. Errors * are handled really ba

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档