Expor MySql como um serviço com Consul e Bind9 localmente

1

Estou tentando configurar o Consul e o Bind9 para expor o MySQL como um serviço localmente. Eu segui estes passos

  1. Instale o MySql

    $ sudo apt-get update

    $ sudo apt-get instala o mysql-server

  2. Instale o Unzip e o Nginx

    $ sudo apt-get update

    $ sudo apt-get instala unzip

    $ sudo apt-get instala nginx

  3. Instalar o Consul

    $ cd / usr / local / bin

    $ sudo wget link

    $ sudo unzip consul_0.9.2_linux_amd64.zip

    $ sudo rm-rf consul_0.9.2_linux_amd64.zip

  4. Configuração do Consul Server para MySql

    $ cd ~

    $ mkdir -p consul-config / server

    $ vim consul-config / server / config.json

{ "services": [ { "id": "mydatabase-3306", "name": "mydatabase", "tags": ["mysql"], "port": 3306 } ] }

  1. Configurar o Nginx para o Consul

    $ sudo vim /etc/nginx/conf.d/consul.conf

    servidor     {       ouça 80;       nome_do_servidor 192.168.1.121;       root / home / agusgambina / consul-server;           location / {             proxy_pass link ;             proxy_set_header X-Real-IP $ remote_addr;             proxy_set_header Host $ http_host;         }     }

    $ sudo systemctl restart nginx.service

  2. Instalar e configurar o Bind9

    $ sudo apt-get update

    $ sudo apt-get instala bind9 bind9utils bind9-doc

ativar o modo IPv4

$ sudo systemctl edit --full bind9

/etc/systemd/systemd/bind9.service
. . .
[Service]
ExecStart=/usr/sbin/named -f -u bind -4
...

$ sudo vim /etc/bind/named.conf

options {
    directory "/var/cache/bind";
    recursion yes;
    allow-query { localhost; };
    forwarders {
        8.8.8.8;
        8.8.4.4;
    };
    dnssec-enable no;
    dnssec-validation no;
    auth-nxdomain no;
    listen-on-v6 { any; };
    # conform to RFC1035
}; 
include "/etc/bind/consul.conf";
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

$ sudo vim /etc/bind/consul.conf

zone "consul" IN {
    type forward;
    forward only;
    forwarders { 127.0.0.1 port 8600; };
};

$ sudo systemctl daemon-reload

$ sudo systemctl restart bind9
  1. Iniciar o Consul

    $ consul agent -dev -config-dir = / home / agusgambina / consul-config / server /

Depois de executar a linha acima, posso acessar o link e vejo o serviço do Consul e do MySql sendo executado

  1. Conecte-se ao MySql

Se eu me conectar ao localhost, posso fazer isso

$ mysql -u root -p -h localhost

Mas quando tento me conectar ao mydatabase.service.consul, recebo esta mensagem de erro

> ERROR 2005 (HY000): Unknown MySQL server host 'mydatabase.service.consul' (0)
    
por agusgambina 19.09.2017 / 16:10

0 respostas

Tags