Яндекс.Метрика
qr-код - Как-то так стрелка - Как-то так
Ведущий экономист + ... пиктограмма - Как-то Так THIS     Экономическая грамотность и web-решения
Всё по теме: что, как и почему. Актуальные вещи - своими словами.
Повышайте своё качество WITH ME - СПЭМ !
Если тебе не нравится то, что ты получаешь, измени то, что ты даешь. © Карлос Кастанеда     KAKTOTAK.BY - услуги по экономическому проектированию и web-разработке (php/js - telegram, WordPress, Laravel, Vue, SEO)    Кооперация - на постоянной основе    Будь в теме   -    ПОДПИШИСЬ      Мои заметки - ЭКОНОМИКА +  и  Справочник WEB-разработчика | php+js+seo   в Telegram   telegram  

Как подключить графический клиент Navicat к MySQL-серверу на WSL и решить ошибку 1251

Как подключить графический клиент Navicat к MySQL-серверу на WSL и решить ошибку 1251

Привычная работа с базами данных через графический интерфейс часто отталкивает разработчиков от использования среды Ubuntu, особенно в случае с WSL (Windows Subsystem for Linux). Однако подключение графического клиента, такого как Navicat, для управления базой данных на MySQL-сервере, развернутом в WSL, выполняется намного проще, чем кажется, и не требует сложных настроек.

Все, что нужно, - это правильно настроить MySQL-сервер для внешних подключений, обеспечить доступ к порту WSL из Windows и решить возможные проблемы с аутентификацией. После этого становится возможным использовать привычный и удобный интерфейс для полноценной работы с базами данных.

В этом кратком руководстве вы узнаете, как настроить MySQL-сервер и устранить ошибку "1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client", чтобы обеспечить успешное подключение через графический клиент Navicat.

Шаг 1: Настройка MySQL на WSL

Убедитесь, что MySQL установлен и запущен

Если MySQL ещё не установлен, выполните следующие команды в WSL для его установки и запуска:

sudo apt update
sudo apt install mysql-server
sudo service mysql start

После запуска проверьте его работу:

sudo service mysql status

Шаг 2: Разрешение подключений с других устройств

По умолчанию MySQL-сервер слушает только локальные соединения (через 127.0.0.1). Для подключения из Navicat (или других программ на Windows) нужно изменить это поведение:

  • Откройте файл конфигурации MySQL:
    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  • Найдите настройку bind-address:

    Она будет выглядеть примерно так:

    bind-address = 127.0.0.1
  • Измените её на следующее:
    bind-address = 0.0.0.0
  • Сохраните файл и перезапустите MySQL:
    sudo service mysql restart

Шаг 3: Настройка пользователя MySQL для удалённых подключений

По умолчанию в MySQL пользователь root может подключаться только локально. Чтобы разрешить подключение из Navicat, выполните следующие шаги:

  • Войдите в MySQL:
    sudo mysql -u root
  • Проверьте методы аутентификации и существующих пользователей:
    SELECT host, user, plugin FROM mysql.user;
  • Измените метод аутентификации пользователя root на совместимый:
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '';
    FLUSH PRIVILEGES;
    
  • Убедитесь, что изменения применились:
    SELECT host, user, plugin FROM mysql.user WHERE user = 'root';
  • Выйдите из MySQL:
    EXIT;

Шаг 4: Найдите IP-адрес WSL

Для подключения по TCP/IP из Windows нам нужен IP-адрес, назначенный WSL.

ip addr show

Найдите IP-адрес интерфейса eth0. Пример:

inet 172.24.239.136/20 brd 172.24.255.255 scope global eth0

Здесь IP-адрес WSL — 172.24.239.136.

Шаг 5: Разрешите порт 3306

Для подключения снаружи нужно разрешить доступ к порту MySQL (3306):

  • Если включён брандмауэр WSL (ufw), выполните:
    sudo ufw allow 3306
  • Проверьте доступность порта на стороне Windows (в терминале Powershell):
    Test-NetConnection -ComputerName 172.24.239.136 -Port 3306

Если TcpTestSucceeded равен True, доступ разрешён.

Шаг 6: Настройка подключения в Navicat

Теперь вы можете настроить подключение в Navicat:

  • Откройте Navicat.
  • Создайте новое соединение, выбрав ConnectionMySQL.
  • В настройках соединения укажите:
    • Connection Name: любое имя, например, MySQL WSL.
    • Host Name/IP Address: IP-адрес вашего WSL (например, 172.24.239.136).
    • Port: 3306.
    • User Name: root.
    • Password: оставьте пустым (или укажите пароль, если он установлен).
  • Нажмите Test Connection.

Итог

В результате у нас есть настройки пользователей в MySQL на WSL для удаленных подключений:

синхронизация базы данных на WSL с Windows - 1

Синхронизация MySQL на Ubuntu с Navicat на Windows:

синхронизация базы данных на WSL с Windows - 2

Доступ к IP и соответствующему порту WSL с Windows:

синхронизация базы данных на WSL с Windows - 3

Решение проблемы с аутентификацией существующих пользователей (ошибка - 1251 - Клиент не поддерживает протокол аутентификации, запрашиваемый сервером):

синхронизация базы данных на WSL с Windows - 4

Остается только зарегистрировать следующий путь в конфигурации нашей базы данных в проекте:

синхронизация базы данных на WSL с Windows - 5

Теперь вы можете управлять вашими базами данных на MySQL, установленном в WSL, через удобный интерфейс Navicat!

автор - Михаленко Р.
M R. Автор - kaktotak.by Специализация: финансово-экономическое проектирование - моделирование бизнеса, инвестиционных проектов реального сектора, анализ и оценка эффективности, оптимизация системы управленческих решений.

Широкий спектр web-компетенций для решения задач бизнеса.

Подписывайтесь на мой телеграмм канал - Мои заметки - ЭКОНОМИКА +
Там я ничего не втюхиваю и не навязываю. Просто делюсь полезной информацией по экономической грамотности. Повышайте своё качество вместе со мной: что, как и почему в экономике на простом языке. Понятия, алгоритмы, процессы, микро- и макроаспекты и многое другое. Может, будет интересно !

А так же - Справочник WEB-разработчика | php+js+seo
Заметки и нативные решения простых локальных задач на PHP, JS. Кое-что про Laravel, WordPress, Vue и SEO.

  Персональная помощь в экономическом проектировании и веб-разработке:

  • Финансово-экономическое моделирование, анализ, учёт, бизнес-планирование
  • Комплексная web-разработка/поддержка проекта в сети (php/js, seo – Laravel, WordPress, Vue, telegram, администрирование, контент, реклама в Яндекс Директ

  telegram или форма обратной связи

Administrator
264
0
Имя
E-mail
Рейтинг
Отзыв

Конвертер валют
RUB RUB-icon
USD USD-icon
EUR EUR-icon
CNY CNY-icon
BYN BYN-icon
UAH UAH-icon
KZT KZT-icon
SHORT - о чём речь
ЭКОНОМИЧЕСКАЯ ГРАМОТНОСТЬ
Хочу Всё Знать. Полезные Советы