Ноябрь 26, 2016 12:27 пп 5 360 views | Комментариев нет

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

Чтобы устранить эти проблемы, существуют различные инструменты для удалённого подключения: HeidiSQL в Windows, Sequel Pro для macOS, кроссплатформенный инструмент MySQL Workbench и т.п. С помощью этих инструментов можно создать SSH-подключение к серверу БД и обойти все потенциальные опасности.

Это краткое руководство поможет вам подключиться к удалённому серверу баз данных с помощью MySQL Workbench.

Требования

  • Сервер MySQL с SSH-доступом (инструкции по установке можно найти в ).
  • Инструмент MySQL Workbench, установленный на локальной машине. MySQL Workbench подходит для большинства операционных систем (Windows, macOS, Ubuntu Linux, RedHat Linux, Fedora и т.д.). Чтобы загрузить инсталлятор, откройте эту страницу .

Также нужно располагать следующей информацией о сервере:

  • Внешний IP-адрес сервера MySQL.
  • Порт SSH (стандартный — 22).
  • Аккаунт пользователя с SSH-доступом к серверу (с парольной аутентификацией или ключами).
  • Учётные данные пользователя MySQL.

SSH-подключение к серверу баз данных

После установки MySQL Workbench запустите программу. Создайте новое подключение. Для этого нужно нажать кнопку + (в главном окне рядом с MySQL Connections).

На экране появится окно Connect to Database. Введите запрашиваемые данные:

  • В поле Connection Name укажите описательное название соединения (Connection Name помогает отличить одно соединение от другого). Для примера мы используем database_for_myapp.
  • Значение Connection Method замените на Standard TCP/IP over SSH
  • В поле SSH Hostname укажите IP сервера MySQL. Если вы изменили стандартный порт SSH, укажите пользовательский номер порта через двоеточие после IP-адреса.
  • В SSH Username укажите имя пользователя для SSH-подключения.
  • В SSH Password укажите пароль выбранного пользователя. Если вместо пароля вы используете ключи, выберите SSH-ключ.
  • В полях MySQL Hostname и MySQL Server Port оставьте значения по умолчанию.
  • В Username укажите имя пользователя MySQL.
  • В Password укажите пароль или оставьте поле пустым. Если вы не храните пароль в MySQL Workbench, программа запросит его при подключении.
  • Чтобы убедиться, что все настройки указаны правильно, выберите Test Connection.
  • Чтобы создать подключение, нажмите OK.

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

Список баз данных можно найти в SCHEMAS в левой навигационной панели. Стрелка рядом с каждой базой данных позволяет расширить информацию и перемещаться по таблицам и объектам. Вы можете просматривать таблицы, писать сложные запросы и редактировать данные.

Также MySQL Workbench позволяет управлять соединениями. Для этого выберите в меню Database → Connect to Database, а затем нажмите ⌘U в Mac или CTRL+U в Windows и Linux. Чтобы подключиться к другой БД, создайте новое соединение.

Заключение

MySQL Workbench позволяет быстро создать безопасный SSH-туннель к удалённому серверу баз данных MySQL и взаимодействовать с данными при помощи локальной машины. Этот метод устраняет все потенциально опасные действия и не требует изменений в настройках безопасности MySQL.

Tags: ,

В этом документе описывается настройка соединения с базой данных MySQL из IDE NetBeans. После подключения с MySQL можно начать работать в проводнике баз данных среды IDE, создавая новые базы данных и таблицы, заполняя таблицы данными и делая структуру и содержимое баз данных доступными для запросов SQL. Этот учебный курс разработан для начинающих пользователей, обладающих базовым представлением об управлении базами данных, которым необходимо применить знания к работе с MySQL в IDE NetBeans.

Настройка свойств сервера MySQL

IDE NetBeans поставляется с включенной поддержкой для MySQL RDBMS. До получения доступ к серверу баз данных MySQL в IDE NetBeans, необходимо настроить свойства сервера MySQL.

Запуск сервера MySQL

Перед попыткой подключения к серверу базы данных MySQL необходимо убедиться в том, что он запущен на компьютере. Если сервер базы данных не подключен, вы увидите (disconnected) рядом с именем пользователя в узле MySQL Server в окна "Служба" и не сможете развернуть узел.

Для подключения к серверу баз данных убедитесь, что сервер базы данных MySQL запущен на компьютере, щелкните правой кнопкой мыши "Базы данных" > узел "MySQL Server" в окне "Службы" и выберите "Подключить". Может отобразиться запрос на ввод пароля для подключения к серверу.


После подключения сервера вы сможете развернуть узел MySQL Server и просмотреть все доступные базы данных MySQL.

Создание экземпляра базы данных и подключение к ней

Редактор SQL является широко распространенным способом взаимодействия с базами данных. Для этого в IDE NetBeans имеется встроенный редактор SQL. Обычно редактор SQL доступен с помощью параметра "Выполнить команду" из контекстного меню узла подключения (или дочерних узлов узла подключения). После установления подключения к серверу MySQL, можно создать новый экземпляр базы данных в редакторе SQL. Для продолжения работы с данным учебным курсом создайте экземпляр с именем MyNewDatabase:


Создание таблиц баз данных

После установления подключения к базе данных MyNewDatabase можно начинать изучение принципов создания таблиц, заполнения их данными и изменения данных в таблицах. Благодаря этому для пользователей обеспечивается возможность более глубокого анализа функций проводника баз данных, а также поддержки IDE NetBeans файлов SQL.

База данных MyNewDatabase в настоящее время пуста. В среде IDE таблицу базы данных можно добавить при помощи диалогового окна "Создание таблицы" или посредством ввода запроса SQL и его запуска напрямую из редактора SQL. Можно использовать оба метода.

Использование редактора SQL

Использование диалогового окна "Создание таблицы"


Работа с данными в таблице

Для работы с табличными данными можно использовать редактор SQL в IDE NetBeans. Выполняя запросы SQL в базе данных, можно добавлять, изменять и удалять данные в структурах баз данных. Для добавления новой записи (строки) в таблицу Counselor необходимо выполнить действия, описываемые ниже.


Выполнение сценария SQL

Другим способом управления табличными данными в IDE NetBeans является запуск внешнего сценария SQL напрямую в IDE. Если сценарий SQL был создан в другом местоположении его можно просто открыть в IDE NetBeans и запустить его в редакторе SQL.

Для наглядности загрузите файл и сохраните его на компьютере. Этот сценарий предназначен для создания двух таблиц, аналогичных только что созданным таблицам (Counselor и Subject), и немедленного заполнения их данными.

Поскольку этот сценарий перезаписывает уже существующие таблицы, удалите Counselor и Subject , чтобы зафиксировать процесс создания таблиц при выполнении сценария. Удаление таблиц

  1. Щелкните правой кнопкой мыши узлы таблиц Counselor и Subject в проводнике баз данных, после чего выберите Delete ("Удалить").
  2. Нажмите кнопку Yes ("Да") в диалоговом окне Confirm Object Deletion ("Подтверждение удаления объекта"). Обратите внимание, что в диалоговом окне перечисляются таблицы, которые будут удалены.

При нажатии кнопки Yes ("Да") в диалоговом окне Confirm Object Deletion ("Подтверждение удаления объекта") узлы таблиц автоматически удаляются из проводника баз данных.

Выполнение сценария SQL в базе данных MyNewDatabase


Дополнительные сведения

Это заключительный раздел учебного курса "Подключение к базе данных MySQL". В этом документе демонстрируется настройка MySQL на компьютере пользователя и настройка соединения с сервером баз данных из IDE NetBeans. Также были рассмотрены методы работы с MySQL в обозревателе баз данных среды IDE при создании экземпляров баз данных и таблиц, заполнении их данными и выполнении запросов SQL.

Более подробные учебные курсы представлены на следующих ресурсах:

  • Создание простого веб-приложения, использующего базу данных MySQL . Этот учебный курс предоставляет сведения о создании простых двухуровневых веб-приложений в среде IDE с использованием созданной базы данных MySQL.
28.02.09 11.7K

Эта статья для тех, кто впервые столкнулся с необходимостью установить удаленное соединение с базой данных MySQL. В статье рассказывается о сложностях, которые могут возникнуть при настройке удаленного соединения и о методах их преодоления.

Как установить соединение с удаленной базой?
Для установления удаленного соединения нужно указать параметры, характеризующие устанавливаемое подключение. Это

* —host
* —protocol
* —port

Из четырех возможных протоколов удаленное подключение позволяет только TCP/IP, поэтому первым требованием является доступность компьютера из сети по TCP/IP. Далее необходимо добавить имя хоста (или ip адрес машины, на которой расположена база) в строке подключения:
mysql —host=host_name Обратите внимание, что указание в качестве имени хоста значения localhost (или же отсутствие такого параметра, что то же самое, так как это дефолтное значение) приводит к обращению на локальную машину.

Учтите, что параметры имеют две формы записи: длинную и короткую. В свою очередь, если параметр имеет значение (как например, в случае хоста необходимо указать имя хоста к которому нужно подключиться), то короткая форма записи может использоваться с пробелом или без (исключением из этого правила является пароль). Таким образом, следующие три записи являются эквивалентными:

* mysql —host=myhost.ru
* mysql -h myhost.ru
* mysql -hmyhost.ru

Как настроить соединение с удаленной базой?

В MySQL пользователь характеризуется двумя параметрами: именем и хостом, с которого он может обращаться. По умолчанию доступ разрешен только с локальной машины, т.е. для пользователя user@localhost. Права на доступ пользователям даются с помощью команды GRANT. Команда выполняется под рутом.

Например, если я хочу создать юзера, который сможет коннектиться с любого хоста с полными правами, то следует выполнить следующую команду:
GRANT ALL PRIVILEGES ON `имя_базы`.* TO myuser@% IDENTIFIED BY ‘пароль’;

Примечание. Обратите внимание, что данная команда дает доступ пользователю myuser со всех IP кроме 127.0.0.1, соответсвующего localhost.
Для пользователя myuser@localhost необходимо давать права отдельной командой GRANT.

Если вы решите обратиться к локальной машине как к удаленной, используя протокол TCP/IP, то не забывайте, что myuser@localhost и myuser@ip_собственного_компа это разные пользователи и каждому из них права нужно давать отдельной командой.

Второй пример показывает как дать право читать таблицу time_zone в базе mysql пользователю myuser с машины 192.168.0.76 с паролем mypassy:
GRANT SELECT ON mysql.time_zone TO [email protected] IDENTIFIED BY ‘mypassy’;
Возникающие сложности

Если после всех действий у вас возникает ошибка (Can’t connect to Mysql Server on ‘ваш IP"(10061)), значит соединение блокирует firewall (windows firewall, outpost, антивирус или еще что-то).

Если возникает ошибка (Client does not support autentification protocol request by server; consider upgrading MySQL client), клиент (то есть ваша программа) не поддерживает требуемый сервером протокол.
Эту ошибку можно исправить, установив пароль старого формата:
SET PASSWORD FOR user@host = OLD_PASSWORD(‘password’);