Назад | Перейти на главную страницу

Доступ к удаленному серверу mysql через туннель ssh

У меня проблемы с доступом к удаленному серверу mysql (который настроен на пропуск сети / отсутствие удаленных подключений). Мне удалось успешно создать туннель ssh, но как я могу получить доступ к сокету mysql сервера через этот туннель?

Вам понадобится какой-то IP-метод для удаленного доступа к этому серверу mysql, использование только сокетов даст вам доступ к этому серверу mysql с локального компьютера.

Лучшим вариантом здесь будет активация сети, но брандмауэр сервера mysql, чтобы он был доступен только с localhost, тогда, как только вы заработаете свой туннель, должно быть довольно просто подключиться удаленно через туннель ssh либо непосредственно из командной строки ssh -L 3306:localhost:3306 user@server или используя .ssh / config LocalForward 3306 localhost:3306

@Lynxman, когда mysql работает с параметром --skip-network, вы не можете подключиться с помощью TCP, потому что он не прослушивает порт 3306, и соединение может быть выполнено только с использованием сокетов.

http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_skip-networking

symcbean @

Netcat не поможет. Вот что я нашел в инструкции.

Создайте и прослушайте сокет домена Unix:
$ nc -lU / var / tmp / dsocket

Если сервер mysql настроен так, чтобы не разрешать сетевые подключения, он будет взаимодействовать только с программами, подключающимися через файловый сокет. Вы создали канал, который заканчивается сетевым сокетом - вам нужно создать мост, прослушивающий сетевой порт и подключающийся к файловому сокету.

Я считаю, что это можно сделать с помощью netcat - что-то вроде .....

nc -U -l 3306 /var/lib/mysql/mysql.sock

... но сделайте RTFM и экспериментируйте.