SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 13.01.2017 01:52:58

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 845

Порассуждаем о Mysql Workbench, SSH и Unix socket'ах

Mysql Workbench - официальный пакет c графическим интерфейсом для работы с сервером MySQL. В нем продумано множество деталей, учтены разнообразные особенности конкретно СУБД MySQL. Однако один из самых каноничных вариантов настройки сервера - опция --skip-netwoking - вызывает при работе трудности.

Mysql Workbench умеет соединяться через сокет, умеет даже сам пробрасывать SSH-туннель и соединяться через него по TCP/IP. Но вот пробросить туннель и там соединиться по socket он не может. Хотя обычно нужно именно это, т.к. в нормальной ситуации доступ к серверу есть по SSH, а MySQL не смотрит наружу и слушает только сокет.

Отсюда вопросы:

1. Почему нет такой простой, но важной возможности? Использование --skip-netwoking много лет является рекомендуемой практикой, почему было не сделать пакет так, чтобы она не вызывала никаких проблем? Это невозможно технически?

2. Для этого случая есть обходной путь, реализуемый с помощью сторонней утилиты socat. Суть его в том, что socat перенаправляет сетевой траффик с некоего специально выделенного ему порта в сокет MySQL и обратно.
Вопрос заключается в том, какой здесь выигрыш?
В случае с соединением через SSH-туннель понятно: для доступа к серверу нужно обладать учетной записью в ОС и соединяться можно только через SSH; для такого требуется только один открытый порт.
В случае же с socat для нужд MySQL все равно нужен еще один дополнительный порт, только сетевой траффик будет не отправляться в сервер MySQL напрямую, а проходить через что-то дополнительное.
Чем такая схема лучше случая, когда сеть слушает непосредственно сервер MySQL?

Неактивен

 

#2 13.01.2017 16:22:29

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Порассуждаем о Mysql Workbench, SSH и Unix socket'ах

1. Пишут, что в openSSH 6.7 появилась такая возможность
http://serverfault.com/questions/127794 … 733#753733

Раньше использовали обходные пути через socat. Про Workbench не знаю.

2. В целях безопасности это порт, доступный только локально. К порту потом обращаются через ssh-туннель.

Неактивен

 

#3 16.01.2017 16:52:52

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 845

Re: Порассуждаем о Mysql Workbench, SSH и Unix socket'ах

В целях безопасности это порт, доступный только локально. К порту потом обращаются через ssh-туннель.

Хм. В статье описан подход без туннеля.

То есть, можно открыть порт так, чтобы к нему было можно соединяться только локально?

Неактивен

 

#4 16.01.2017 17:33:53

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Порассуждаем о Mysql Workbench, SSH и Unix socket'ах

LazY написал:

То есть, можно открыть порт так, чтобы к нему было можно соединяться только локально?

Все зависит от настроек программы, которая слушает порт. Кроме того можно закрыть порт фаерволом.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson