Как использовать Oracle Cloud Infrastructure MYSQL DB и XDev API вместе?
Итак, я создал базу данных MYSQL на OCI и могу подключиться к ней через SSH, у меня настроены все правила входа, пользователи и т. Д. Что я помещаю в поле host: "....": в код javascript? (вместо localhost).
mysqlx
.getSession( {
user: 'user',
password: 'password',
host: 'localhost',
port: '33060',
})
Должен ли я делать что-либо еще в OCI, поскольку соединение настроено как SSH, или я могу настроить его в настройках общедоступной подсети в качестве нового правила входа?
Спасибо за любую помощь.
2 ответа
Ответ в OCI состоит в том, чтобы использовать имя хоста и провайдера вашего экземпляра, в котором находится БД MYSQL, а затем настроить маршрутизатор MYSQL в OCI следующим образом:
Шаг 1. Установка и настройка маршрутизатора MySQL Предположим, что ваш OCI Compute работает под управлением Enterprise Linux Enterprise Linux Server версии 7.
SSH в компьютер OCI, где будет установлен маршрутизатор MySQL.
Установите MySQL-маршрутизатор. Бежать:
sudo yum -y установить https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm sudo yum -y установить mysql-маршрутизатор
Настройте маршрутизатор MySQL, добавив его в файл /etc/mysqlrouter/mysqlrouter.conf. Например, предположив, что частный IP-адрес MDS — 10.0.0.6, запустите:
sudo tee -a /etc/mysqlrouter/mysqlrouter.conf > /dev/null << EOF[routing:redirect_classic]bind_address = localhost:3306destinations = 10.0.0.6:3306routing_strategy=first-available
[routing:redirect_xprotocol]bind_address = localhost:33060destinations = 10.0.0.6:33060protocol = xrouting_strategy=первый доступный EOF
Запустите MySQL Router и проверьте, активна ли служба (работает). Бежать:
$ sudo systemctl start mysqlrouter.service $ sudo systemctl status mysqlrouter.service
Автоматически запускать MySQL Router при перезагрузке экземпляра Compute $ sudo systemctl enable mysqlrouter.service
Добавьте правила firewalld. Бежать:
$ sudo firewall-cmd --permanent --add-port=3306/tcp$ sudo firewall-cmd --permanent --add-port=33060/tcp $ sudo firewall-cmd --reload
Спасибо Airton Latori за помощь.
Я не знаком со спецификой OCI, но в конечном итоге должно быть имя хоста или IP-адрес для экземпляра MySQL (или маршрутизатора), к которому вы можете подключиться. И, предполагая, что конечная точка "говорит" протокол X, это то, что вы должны предоставить дляhost
свойство конфигурации.
Отказ от ответственности: я ведущий разработчик MySQL X DevAPI Connector для Node.js