Lando настроить внешнее соединение для службы для имитации репликации MySQL

Можно ли в Lando настроить конфигурацию внешнего подключения для каждого сервиса в .lando.yml?

Я хотел бы имитировать репликацию базы данных, поэтому мне нужно иметь database-master и database-slave MySQL сервис для запуска на разных машинах, к которым я хочу подключиться с Workbench.

Я хочу настроить каждый сервис, чтобы не быть доступным на localhost хост, но на разных ips для симуляции разных машин, типа 127.0.0.10, 127.0.0.11, и так далее.

Как я могу это сделать? Имеет ли это смысл?

В настоящее время мой .lando.yml файл выглядит так:

name: mysql-8-replication-test

config:
  database: mysql

services:
  database-master:
    type: mysql:8
    portforward: 3306
    creds:
      user: laravel
      password: laravel
      database: laravel

  database-slave:
    type: mysql:8
    portforward: 3307
    creds:
      user: laravel
      password: laravel
      database: laravel

а также lando info дать это:

{
  "database-master": {
    "type": "mysql",
    "version": "8",
    "hostnames": [
      "database-master",
      "database-master.mysql8replicationtest.internal"
    ],
    "creds": {
      "user": "laravel",
      "password": "laravel",
      "database": "laravel"
    },
    "internal_connection": {
      "host": "database-master",
      "port": 3306
    },
    "external_connection": {
      "host": "localhost",
      "port": 3306
    },
    "urls": []
  },
  "database-slave": {
    "type": "mysql",
    "version": "8",
    "hostnames": [
      "database-slave",
      "database-slave.mysql8replicationtest.internal"
    ],
    "creds": {
      "user": "laravel",
      "password": "laravel",
      "database": "laravel"
    },
    "internal_connection": {
      "host": "database-slave",
      "port": 3306
    },
    "external_connection": {
      "host": "localhost",
      "port": 3307
    },
    "urls": []
  }
}

но, как вы можете видеть, и ведущий и ведомый достижимы на localhost,

0 ответов

Другие вопросы по тегам