#mysql #openshift #openshift-client-tools
#mysql #openshift #openshift-клиент-инструменты
Вопрос:
Я пытаюсь удаленно подключиться к моей базе данных mysql Openshift v3. Насколько я понимаю, это невозможно без надлежащей настройки, поскольку службы изначально недоступны извне.
Я попробовал переадресацию портов, которая выдает следующую ошибку (немецкая причина означает отсутствие прав доступа к сокету):
oc port-forward mysql-database-1-rqhc8 3306:3306
E1001 09:34:33.103656 2936 portforward.go:202] Unable to create listener: Error listen tcp4 127.0.0.1:3306: bind: Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.
E1001 09:34:33.127445 2936 portforward.go:202] Unable to create listener: Error listen tcp6 [::1]:3306: bind: Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.
W1001 09:34:33.141973 2936 portforward.go:154] Unable to listen on port 3306: All listeners failed to create with the following errors: listen tcp4 127.0.0.1:3306: bind: Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig., listen tcp6 [::1]:3306: bind: Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.
error: Unable to listen on any of the requested ports: [{3306 3306}]
Перенаправление портов на свободный порт работает нормально:
oc port-forward mysql-database-1-rqhc8 :3306
I1001 09:35:02.760192 7792 portforward.go:213] Forwarding from 127.0.0.1:51231 -> 3306
I1001 09:35:02.775740 7792 portforward.go:213] Forwarding from [::1]:51231 -> 3306
Тем не менее, я не могу подключиться к назначенному порту. На какой адрес я должен был бы ориентироваться?
Эти URL-адреса не работают:
jdbc:mysql://<<my-domain.com>>:51231/maindatabase
jdbc:mysql://<<service-cluster-ip-address>>:51231/maindatabase
Ответ №1:
Ну, я только что узнал (случайно), что oc фактически перенаправляет порт на ваш собственный локальный компьютер.
Это именно то, что было сказано в документации, в которую я просто не мог поверить, что это действительно сработает.
Итак, для всех, кто совершает одну и ту же глупую ошибку, просто подключитесь к:
jdbc:mysql://localhost:<<port>>/<<database-name>>