Difference between revisions of "PowerDNS: Create PowerDNS Database dan User di Percona / MySQL"

From OnnoWiki
Jump to navigation Jump to search
 
Line 1: Line 1:
Masuk ke MySQL
+
Masuk ke database
  
  sudo mysql -u root -p123456  
+
  sudo mysql -u root -h ::1 -p123456
  
Akan keluar
+
Siapkan tabel
  
  Welcome to the MySQL monitor.  Commands end with ; or \g.
+
  CREATE DATABASE powerdns;
Your MySQL connection id is 47
 
Server version: 5.6.24-72.2 Percona Server (GPL), Release 72.2, Revision 8d0f85b
 
 
   
 
   
  Copyright (c) 2009-2015 Percona LLC and/or its affiliates
+
  GRANT ALL ON powerdns.* TO 'powerdns'@'localhost' \
  Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+
IDENTIFIED BY 'ubuntu';
 +
 
 +
  FLUSH PRIVILEGES;
 
   
 
   
  Oracle is a registered trademark of Oracle Corporation and/or its
+
  USE powerdns;
affiliates. Other names may be trademarks of their respective
 
owners.
 
 
   
 
   
  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
+
  CREATE TABLE domains (
 +
  id                    INT AUTO_INCREMENT,
 +
  name                  VARCHAR(255) NOT NULL,
 +
  master                VARCHAR(128) DEFAULT NULL,
 +
  last_check            INT DEFAULT NULL,
 +
  type                  VARCHAR(6) NOT NULL,
 +
  notified_serial      INT UNSIGNED DEFAULT NULL,
 +
  account              VARCHAR(40) CHARACTER SET 'utf8' DEFAULT NULL,
 +
  PRIMARY KEY (id)
 +
) Engine=InnoDB CHARACTER SET 'latin1';
 
   
 
   
  mysql>
+
  CREATE UNIQUE INDEX name_index ON domains(name);
 
+
Buat database ‘powerdns’. Database user 'poweruser'. Atau kita dapat membuat sendiri juga
+
CREATE TABLE records (
 
+
  id                    BIGINT AUTO_INCREMENT,
  CREATE DATABASE powerdns;  
+
  domain_id            INT DEFAULT NULL,
  GRANT ALL ON powerdns.* TO 'poweruser'@'localhost' IDENTIFIED BY 'ubuntu';  
+
  name                  VARCHAR(255) DEFAULT NULL,
  FLUSH PRIVILEGES;  
+
  type                  VARCHAR(10) DEFAULT NULL,
USE powerdns;
+
  content              VARCHAR(64000) DEFAULT NULL,
CREATE TABLE domains (  
+
  ttl                  INT DEFAULT NULL,
  id                   INT AUTO_INCREMENT,  
+
  prio                  INT DEFAULT NULL,
  name                  VARCHAR(255) NOT NULL,  
+
  change_date          INT DEFAULT NULL,
  master                VARCHAR(128) DEFAULT NULL,  
+
  disabled              TINYINT(1) DEFAULT 0,
  last_check            INT DEFAULT NULL,  
+
  ordername            VARCHAR(255) BINARY DEFAULT NULL,
  type                  VARCHAR(6) NOT NULL,  
+
  auth                  TINYINT(1) DEFAULT 1,
  notified_serial      INT DEFAULT NULL,  
+
  PRIMARY KEY (id)
  account              VARCHAR(40) DEFAULT NULL,  
+
) Engine=InnoDB CHARACTER SET 'latin1';
  PRIMARY KEY (id)  
+
  );  
+
  CREATE INDEX nametype_index ON records(name,type);
  CREATE UNIQUE INDEX name_index ON domains(name);  
+
  CREATE INDEX domain_id ON records(domain_id);
 +
  CREATE INDEX ordername ON records (ordername);
 +
 +
CREATE TABLE supermasters (
 +
  ip                   VARCHAR(64) NOT NULL,
 +
  nameserver            VARCHAR(255) NOT NULL,
 +
  account              VARCHAR(40) CHARACTER SET 'utf8' NOT NULL,
 +
  PRIMARY KEY (ip, nameserver)
 +
) Engine=InnoDB CHARACTER SET 'latin1';
 +
 +
CREATE TABLE comments (
 +
  id                    INT AUTO_INCREMENT,
 +
  domain_id            INT NOT NULL,
 +
  name                  VARCHAR(255) NOT NULL,
 +
  type                  VARCHAR(10) NOT NULL,
 +
  modified_at          INT NOT NULL,
 +
  account              VARCHAR(40) CHARACTER SET 'utf8' DEFAULT NULL,
 +
  comment              TEXT CHARACTER SET 'utf8' NOT NULL,
 +
  PRIMARY KEY (id)
 +
  ) Engine=InnoDB CHARACTER SET 'latin1';
 +
 +
  CREATE INDEX comments_name_type_idx ON comments (name, type);
 +
CREATE INDEX comments_order_idx ON comments (domain_id, modified_at);
 +
 +
CREATE TABLE domainmetadata (
 +
  id                    INT AUTO_INCREMENT,
 +
  domain_id            INT NOT NULL,
 +
  kind                  VARCHAR(32),
 +
  content              TEXT,
 +
  PRIMARY KEY (id)
 +
) Engine=InnoDB CHARACTER SET 'latin1';
 
   
 
   
CREATE TABLE records (
+
  CREATE INDEX domainmetadata_idx ON domainmetadata (domain_id, kind);
  id                    INT AUTO_INCREMENT,
 
  domain_id            INT DEFAULT NULL,
 
  name                  VARCHAR(255) DEFAULT NULL,
 
  type                  VARCHAR(10) DEFAULT NULL,
 
  content              VARCHAR(64000) DEFAULT NULL,
 
  ttl                  INT DEFAULT NULL,
 
  prio                  INT DEFAULT NULL,
 
  change_date          INT DEFAULT NULL,
 
  disabled              TINYINT(1) DEFAULT 0,
 
  ordername            VARCHAR(255) BINARY DEFAULT NULL,
 
  auth                  TINYINT(1) DEFAULT 1,
 
  PRIMARY KEY (id)
 
);
 
CREATE INDEX nametype_index ON records(name,type);
 
CREATE INDEX domain_id ON records(domain_id);
 
  CREATE INDEX recordorder ON records (domain_id, ordername);  
 
 
   
 
   
  CREATE TABLE supermasters (  
+
  CREATE TABLE cryptokeys (
   ip                   VARCHAR(64) NOT NULL,  
+
   id                   INT AUTO_INCREMENT,
   nameserver            VARCHAR(255) NOT NULL,  
+
  domain_id            INT NOT NULL,
   account               VARCHAR(40) NOT NULL,  
+
   flags                INT NOT NULL,
   PRIMARY KEY (ip, nameserver)  
+
   active                BOOL,
  );  
+
  content               TEXT,
 +
   PRIMARY KEY(id)
 +
  ) Engine=InnoDB CHARACTER SET 'latin1';
 
   
 
   
CREATE TABLE comments (
+
  CREATE INDEX domainidindex ON cryptokeys(domain_id);
  id                    INT AUTO_INCREMENT,
 
  domain_id            INT NOT NULL,
 
  name                  VARCHAR(255) NOT NULL,
 
  type                  VARCHAR(10) NOT NULL,
 
  modified_at          INT NOT NULL,
 
  account              VARCHAR(40) NOT NULL,
 
  comment              VARCHAR(64000) NOT NULL,
 
  PRIMARY KEY (id)
 
);
 
CREATE INDEX comments_domain_id_idx ON comments (domain_id);
 
CREATE INDEX comments_name_type_idx ON comments (name, type);
 
  CREATE INDEX comments_order_idx ON comments (domain_id, modified_at);  
 
 
   
 
   
  CREATE TABLE domainmetadata (  
+
  CREATE TABLE tsigkeys (
   id                    INT AUTO_INCREMENT,  
+
   id                    INT AUTO_INCREMENT,
   domain_id            INT NOT NULL,  
+
   name                  VARCHAR(255),
   kind                  VARCHAR(32),  
+
   algorithm            VARCHAR(50),
   content              TEXT,  
+
   secret                VARCHAR(255),
   PRIMARY KEY (id)  
+
   PRIMARY KEY (id)
  );
+
  ) Engine=InnoDB CHARACTER SET 'latin1';
CREATE INDEX domainmetadata_idx ON domainmetadata (domain_id, kind);  
 
 
   
 
   
  CREATE TABLE cryptokeys (
+
  CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm);
  id                    INT AUTO_INCREMENT,
 
  domain_id            INT NOT NULL,
 
  flags                INT NOT NULL,
 
  active                BOOL,
 
  content              TEXT,
 
  PRIMARY KEY(id)
 
);
 
CREATE INDEX domainidindex ON cryptokeys(domain_id);  
 
 
   
 
   
  CREATE TABLE tsigkeys (
+
  QUIT
  id                    INT AUTO_INCREMENT,
 
  name                  VARCHAR(255),
 
  algorithm            VARCHAR(50),
 
  secret                VARCHAR(255),
 
  PRIMARY KEY (id)
 
);
 
CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm);
 
quit;
 
 
 
 
 
 
 
==Pranala Menarik==
 
 
 
* [[PowerDNS]]
 
* [[IPv6]]
 

Latest revision as of 09:23, 20 February 2019

Masuk ke database

sudo mysql -u root -h ::1 -p123456

Siapkan tabel

CREATE DATABASE powerdns;

GRANT ALL ON powerdns.* TO 'powerdns'@'localhost' \
IDENTIFIED BY 'ubuntu';
 
FLUSH PRIVILEGES;

USE powerdns; 

CREATE TABLE domains (
  id                    INT AUTO_INCREMENT,
  name                  VARCHAR(255) NOT NULL,
  master                VARCHAR(128) DEFAULT NULL,
  last_check            INT DEFAULT NULL,
  type                  VARCHAR(6) NOT NULL,
  notified_serial       INT UNSIGNED DEFAULT NULL,
  account               VARCHAR(40) CHARACTER SET 'utf8' DEFAULT NULL,
  PRIMARY KEY (id)
) Engine=InnoDB CHARACTER SET 'latin1';

CREATE UNIQUE INDEX name_index ON domains(name);

CREATE TABLE records (
  id                    BIGINT AUTO_INCREMENT,
  domain_id             INT DEFAULT NULL,
  name                  VARCHAR(255) DEFAULT NULL,
  type                  VARCHAR(10) DEFAULT NULL,
  content               VARCHAR(64000) DEFAULT NULL,
  ttl                   INT DEFAULT NULL,
  prio                  INT DEFAULT NULL,
  change_date           INT DEFAULT NULL,
  disabled              TINYINT(1) DEFAULT 0,
  ordername             VARCHAR(255) BINARY DEFAULT NULL,
  auth                  TINYINT(1) DEFAULT 1,
  PRIMARY KEY (id)
) Engine=InnoDB CHARACTER SET 'latin1';

CREATE INDEX nametype_index ON records(name,type);
CREATE INDEX domain_id ON records(domain_id);
CREATE INDEX ordername ON records (ordername);

CREATE TABLE supermasters (
  ip                    VARCHAR(64) NOT NULL,
  nameserver            VARCHAR(255) NOT NULL,
  account               VARCHAR(40) CHARACTER SET 'utf8' NOT NULL,
  PRIMARY KEY (ip, nameserver)
) Engine=InnoDB CHARACTER SET 'latin1';

CREATE TABLE comments (
  id                    INT AUTO_INCREMENT,
  domain_id             INT NOT NULL,
  name                  VARCHAR(255) NOT NULL,
  type                  VARCHAR(10) NOT NULL,
  modified_at           INT NOT NULL,
  account               VARCHAR(40) CHARACTER SET 'utf8' DEFAULT NULL,
  comment               TEXT CHARACTER SET 'utf8' NOT NULL,
  PRIMARY KEY (id)
) Engine=InnoDB CHARACTER SET 'latin1';

CREATE INDEX comments_name_type_idx ON comments (name, type);
CREATE INDEX comments_order_idx ON comments (domain_id, modified_at);

CREATE TABLE domainmetadata (
  id                    INT AUTO_INCREMENT,
  domain_id             INT NOT NULL,
  kind                  VARCHAR(32),
  content               TEXT,
  PRIMARY KEY (id)
) Engine=InnoDB CHARACTER SET 'latin1';

CREATE INDEX domainmetadata_idx ON domainmetadata (domain_id, kind);

CREATE TABLE cryptokeys (
  id                    INT AUTO_INCREMENT,
  domain_id             INT NOT NULL,
  flags                 INT NOT NULL,
  active                BOOL,
  content               TEXT,
  PRIMARY KEY(id)
) Engine=InnoDB CHARACTER SET 'latin1';

CREATE INDEX domainidindex ON cryptokeys(domain_id);

CREATE TABLE tsigkeys (
  id                    INT AUTO_INCREMENT,
  name                  VARCHAR(255),
  algorithm             VARCHAR(50),
  secret                VARCHAR(255),
  PRIMARY KEY (id)
) Engine=InnoDB CHARACTER SET 'latin1';

CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm);

QUIT