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
,