LINUX.ORG.RU

MySQL WorkBench отказывается устанавливать соединение по SSH, помогите найти путь обхода

 , , ,


0

1

С линукс знаком можно сказать первый день, возможно проблемы именно в этом...

Линукс-минт:

cat /proc/version
Linux version 3.13.0-37-generic (buildd@roseapple) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #64-Ubuntu SMP Mon Sep 22 21:30:01 UTC 2014

Установил WB через пакетный менеджер, версия 6.0.8, хотя на официальном сайте уже есть 6.3.3

Через консоль соединения устанавливается (использую rsa ключ)

Когда настраиваю соединение через WB всплывает ошибка: Could not connect the SSH tunnel. Authentication error, unhundled exception caught in tunell manager...... ...Посылает читать логи, идем:

15:21:01 [INF][     SSH tunnel]: Opening SSH tunnel to 77.222.61.84:22
15:21:01 [ERR][   sshtunnel.py]: Traceback (most recent call last):
  File «/usr/share/mysql-workbench/sshtunnel.py», line 231, in _connect_ssh

В общем ошибка гуглиться, находится багрепорт: https://bugs.mysql.com/bug.php?id=74658 В котором говориться, что есть патч для версии 6.2.4, который исправляет данный баг.

Просмотрев патч https://bugs.mysql.com/file.php?id=22307&bug_id=74658 я понимаю, что он совсем не подходит к моей версии программы (открыл исходный код WB и сравнил строки).

Так же существует дубликат багрепорта http://bugs.mysql.com/bug.php?id=76857 в котором говорится, что чтобы исправить нужно обновить пакет paramiko (python-paramiko). Я проверил, у меня последняя версия Version: 1.10.1-1git1build1.

Поидее проблема решается установкой новой или нужной (6.2.4) версией программы и установки патча, НО скаченный последний WB пакет с офф сайта отказывается устанавливаться, ошибка: Неправильная архитектура amd64.

Как я понял мне нужно было x86 скачать, но её НЕТ (по крайней мере для той версии которая нужна).

Либо кто-то сталкивался с этой проблемой и промоет мне мозги, либо посоветуйте другой графический mysql менеджер (желательно не WINE)

НО скаченный последний WB пакет с офф сайта отказывается устанавливаться, ошибка: Неправильная архитектура amd64.

Видимо нужно было скачивать пакет для своей архитектуры, смотреть через uname -i, (учти что x86_64=amd64).

Но почему бы просто не прокинуть через ссх порт?

update: действительно, под 32 не собрали. Но можешь собрать из исходников. Ещё раз советую просто прокинуть порт.

ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 2)
Ответ на: комментарий от ya-betmen

Думал будет просто, но у меня не так не бывает ))

пробрасываю порт: ssh myserv localhost:3307:127.0.0.1:3306

Пока нормально - соединение по ссх работает

Теперь по идее на локальной машине в воркбенче создаю MySQL Connections методом TCP/IP с параметрами: localhost:3307 , а пароль, логин и база данных - все как на серваке. А мне палкой по башке: Access denied for user ... use password: Yes

Даже не знаю где может быть ошибка - порты пробрасываю первый раз в жизни.

yadfeshhm
() автор топика

Сначала проверь на удалённой машине учётку, зайди туда по ссх и зацепись консольным клиентом: mysql --host=localhost --port=3306 --protocol=TCP -uusername -p (--protocol=TCP нужно что б клиент не проигнорил порт, ибо локалхост)

Если всё ок, прокидываешь себе порт: ssh -N myserv -L 3307:localhost:3306 и пробуешь зацепиться локально: mysql --host=localhost --port=3307 --protocol=TCP -uusername -p.

Если всё ок, цепляйся воркбенчем, проблем быть не должно.

ya-betmen ★★★★★
()
Ответ на: комментарий от ya-betmen

проблема на стороне сервера

сервер - виртуал хостинг sweb.ru

Если просто: mysql -u username -p, то заходит, а если явно указать --host --port --protocol .., то аксес денайд, а вот если указать только --host --port (пропустив протокол), то все в порядке.

в mysql на сервере выполнил show variables like 'port'; получил 3306

при программирование на PHP при связи с mysql сервером указывается просто 'localhost'.

Либо порт - не порт, либо там тоже как-то хитро подключение к mysql происходит.

yadfeshhm
() автор топика
Ответ на: проблема на стороне сервера от yadfeshhm

Решено: доступ к mysql нужен не только с localhost но и с 127.0.0.1 =D

Удивительно.

Заходим в панель управления хостингом: Базы MySQL: Открытие удаленного доступа: тут по умолчанию открыт доступ с localhost, но чтобы все заработало нужно еще добавить доступ с 127.0.0.1

Вот собственно и все, дальше проверил подключение к mysql со всеми параметрами (порт протокол хост -все заработало), пробросил порт по ssh и проверил подключение к mysql в воркбенче.

yadfeshhm
() автор топика
Ответ на: комментарий от ya-betmen

Тогда он стучится в локалхост, почитай справку по клиенту.

эксперименты:

1) если пропустить протокол, то стучится на локалхост и пускает

2) если указать протокол и явно указать --host=localhost, то стучится на локалхост и НЕ пускает

3) если постучать в бубен и настроить доступ к mysql c 127.0.0.1 И указать протокол, указать --host=localhost, то стучится на локалхост и пускает

да, тут без справок не разобраться.

yadfeshhm
() автор топика
Ответ на: комментарий от yadfeshhm

1) если пропустить протокол, то стучится на локалхост и пускает

2) если указать протокол и явно указать --host=localhost, то стучится на локалхост и НЕ пускает

Потому что по умолчанию долбится через локальный сокет, потому и порт ему пофиг.

ya-betmen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.