MySQL Workbench — графічний клієнт для роботи з базами даних, який економить час, коли не хочеться набирати кожен SQL-запит вручну в терміналі. Ця стаття пояснює, що це за програма, як підключити її до віддаленої бази на VDS і що робити, якщо вікно підключення не відкривається.
Що таке MySQL Workbench
MySQL Workbench — офіційний графічний інструмент для проєктування баз даних, написання SQL-запитів і адміністрування серверів MySQL та MariaDB. Замість текстової консолі користувач бачить перелік таблиць, може редагувати рядки в табличному вигляді та будувати діаграми зв'язків між таблицями мишею, а не вручну описуючи зовнішні ключі.
Програма працює як звичайний десктопний клієнт на комп'ютері користувача і встановлює з'єднання із сервером бази даних так само, як це робить будь-який застосунок: мережею, на порт сервера MySQL. Сама база при цьому лишається на сервері — Workbench лише показує і змінює дані віддалено.
Які способи підключення підтримує Workbench
Перед першим підключенням варто визначитися зі способом доступу до сервера.
- Пряме TCP-підключення — Workbench звертається напряму до відкритого порту MySQL на сервері.
- Підключення через SSH-тунель — трафік до бази йде через зашифрований канал, порт MySQL назовні не відкривається.
- Локальний сокет — застосовується лише коли Workbench запущений на тому самому сервері, що й база даних.
- Готовий конфігураційний файл — параметри підключення імпортуються зі збереженого файлу налаштувань.
Порівняння способів підключення за безпекою
Для віддаленого доступу безпечніший тунель, а не відкритий порт назовні, і про це варто знати до налаштування.
| Спосіб | Порт назовні | Шифрування | Коли доречний |
|---|---|---|---|
| пряме TCP-підключення | відкритий порт 3306 | залежить від налаштувань SSL сервера | довірена внутрішня мережа |
| SSH-тунель | відкритий лише порт 22 | весь трафік зашифрований SSH | підключення з будь-якої точки |
| локальний сокет | назовні не відкритий | не потрібне, трафік не залишає сервер | робота прямо на сервері |
| VPN до мережі сервера | MySQL-порт закритий для інтернету | шифрування на рівні VPN | офісна чи командна інфраструктура |
Докладні рекомендації щодо закриття порту 3306 для сторонніх підключень наведені у статті про безпеку MySQL на VPS.
Як налаштувати підключення через SSH-тунель
Найпоширеніший робочий сценарій — підключення до віддаленої бази без відкритого назовні порту MySQL.
# У Workbench: New Connection
# Connection Method: Standard TCP/IP over SSH
# SSH Hostname: ваш-сервер.example.com, SSH Username: ваш-логін
# MySQL Hostname: 127.0.0.1, MySQL Server Port: 3306
У цьому режимі Workbench спершу встановлює звичайне SSH-з'єднання із сервером, а потім усередині нього прокладає окремий канал до локального порту MySQL на цьому самому сервері. Назовні видно лише відкритий порт SSH, а порт бази даних лишається недоступним для прямих підключень з інтернету.
Що робити, якщо Workbench не відкривається або не підключається
- Перевірити, що процес mysqld взагалі запущений на сервері, а не лише слухає з'єднання локально.
- Переконатися, що користувач бази даних має право підключатися з потрібного хоста, а не лише з localhost.
- Перевірити правило фаєрвола на сервері: порт 3306 чи 22 має бути відкритий для IP-адреси клієнта.
- Якщо саме вікно Workbench не запускається на комп'ютері, перевірити журнали застосунку і спробувати перевстановити драйвери підключення.
- Для разового тесту підключення застосувати консольний клієнт mysql з тими самими параметрами — це швидко покаже, проблема в мережі чи в самому Workbench.
Правильні привілеї для користувача, який підключатиметься через Workbench, описані у статті про привілеї користувачів MySQL, а загальні принципи захисту MariaDB і MySQL — у статті про безпеку MariaDB і MySQL.
Часті питання
Що таке MySQL Workbench і чим він відрізняється від phpMyAdmin?
MySQL Workbench — десктопний застосунок, який встановлюється на комп'ютер користувача, а phpMyAdmin — вебінтерфейс, що працює через браузер і встановлений на сервері. Можливості багато в чому схожі, але Workbench зручніший для проєктування схем і роботи без постійного доступу до вебпанелі.
Чому MySQL Workbench не відкривається після встановлення?
Найчастіше причина — конфлікт версій бібліотек на комп'ютері або пошкоджений файл налаштувань попередньої інсталяції. Допомагає перевстановлення програми з видаленням старої теки конфігурації або запуск із терміналу, щоб побачити текст помилки в консолі.
Чи можна підключитися до бази даних без SSH-доступу до сервера?
Так, якщо на сервері відкритий порт MySQL назовні і користувачу бази дозволене підключення з IP-адреси клієнта, але такий варіант менш безпечний за тунель. Для разового завдання це прийнятно, якщо заздалегідь обмежити доступ конкретною IP-адресою в налаштуваннях фаєрвола.