В этом документе описывается настройка соединения с базой данных 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 , чтобы зафиксировать процесс создания таблиц при выполнении сценария. Удаление таблиц
- Щелкните правой кнопкой мыши узлы таблиц Counselor и Subject в проводнике баз данных, после чего выберите Delete ("Удалить").
- Нажмите кнопку Yes ("Да") в диалоговом окне Confirm Object Deletion ("Подтверждение удаления объекта"). Обратите внимание, что в диалоговом окне перечисляются таблицы, которые будут удалены.
При нажатии кнопки Yes ("Да") в диалоговом окне Confirm Object Deletion ("Подтверждение удаления объекта") узлы таблиц автоматически удаляются из проводника баз данных.
Выполнение сценария SQL в базе данных MyNewDatabase
Дополнительные сведения
Это заключительный раздел учебного курса "Подключение к базе данных MySQL". В этом документе демонстрируется настройка MySQL на компьютере пользователя и настройка соединения с сервером баз данных из IDE NetBeans. Также были рассмотрены методы работы с MySQL в обозревателе баз данных среды IDE при создании экземпляров баз данных и таблиц, заполнении их данными и выполнении запросов SQL.
Более подробные учебные курсы представлены на следующих ресурсах:
- Создание простого веб-приложения, использующего базу данных MySQL . Этот учебный курс предоставляет сведения о создании простых двухуровневых веб-приложений в среде IDE с использованием созданной базы данных MySQL.
Можно не только через PHP. В комплекте с MySQL поставляется консольный клиент для подключения в серверу MySQL. Консольный — это означает, что у программы нет оконного интерфейса, а есть только интерфейс командной строки, в котором обращение к базам данных выполняется с помощью SQL запросов.
Команды для подключения к MySQL в командной строке, а уж тем более сами SQL запросы идентичны и для . В дальнейшем для краткости я буду писать «MySQL», но везде я имею в виду «MySQL или MariaDB», поскольку в данном случае разницы между ними нет.
Подключившись через командную строку к СУБД MySQL можно выполнять самые разные задачи: просматривать базы данных и их таблицы, отправлять запросы к базам данных и получать результаты выполнения этих запросов.
Для подключения к серверу MySQL используется команда клиентская программа, которая называется mysql.exe. Её нужно запустить, но сделать нужно не двойным кликом, как обычную программу, а из командной строки.
Начнём с того, что нажмём сочtтание клавиш Win+r и выполним
Откроется командная строка.
Теперь нам нужно перейти в папку с файлом mysql.exe . Эта папка bin в директории, где установлена ваша СУБД MySQL. К примеру, у меня MariaDB, которая установлена в папке C:\Server\bin\mariadb\ . Следовательно, интересующий нас файл находится в каталоге C:\Server\bin\mariadb\bin\ . Для перехода в этот каталог используется команда cd следующим образом:
Cd C:\Server\bin\mariadb\bin\
В этой команде замените C:\Server\bin\mariadb\bin\ на правильный для вашей системы путь
Теперь запустим файл mysql.exe. Необязательно указывать расширение файла.exe — система сама догадается, что мы имеем ввиду. Также нам нужно использовать опцию -u и -p . После первой опции нужно указать имя пользователя — root . После второй опции — пароль для пользователя. В моём случае пароль не установлен, поэтому я запускаю без опции -p :
Mysql -u root
Может показаться, что мало что изменилось, но новое приглашение командной строки
MariaDB [(none)]>
говорит о том, что мы подключены к серверу MySQL. Точнее, в моём случае мы подключены к серверу MariaDB.
Чтобы посмотреть список баз данных, введём команду:
SHOW DATABASES;
Чтобы последующие запросы отправлялись к определённой базе данных (например, к test), используется команда USE :
USE test;
Чтобы посмотреть таблицы в выбранной базе данных запустите команду:
SHOW TABLES;
Создадим какую-нибудь таблицу:
CREATE TABLE AuthorsTBL (AuthorID INT NOT NULL AUTO_INCREMENT, AuthorName VARCHAR(100), PRIMARY KEY(AuthorID));
И вновь посмотрим содержимое базы данных test.
После того, как Вы установили сервер MySQL, подключиться к нему Вы можете только с этой же машины. Сделано это в целях безопасности системы, так как в большинстве случаев MySQL используется в Web, а там в редких случаях разносят web-сервер и сервер баз данных.
В корпоративном же сегменте правильнее использовать 1 сервер под все похожие задачи. Глупо держать MySQL с одной базой данных на каждом сервере, где он может потребоваться. Поэтому сервер баз данных должен быть один, на котором заведено нужное количество баз данных под разные задачи.
Кстати, в Web`е разносят сервер базы данных и web-сервер только в тех случаях, когда мощности одного сервера не хватает. Арендуется выделенный сервер и выноситься на него база данных. Хотелось бы уточнить, что делать это разумно только в пределах одного ДЦ.
Разрешаем подключаться к MySQL удаленно
В конфигурационном файле самого MySQL есть параметр bind-address , который отвечает за это, поэтому:
- открываем конфигурационный файл для редактирования:
sudo nano /etc/mysql/my.cnf - комментируем строку:
# bind-address = 127.0.0.1 - перезапускаем MySQL:
sudo service mysql restart
Закомментировать эту строку равносильно тому, что присвоить IP-адрес 0.0.0.0 , то есть разрешить подключаться всем. Указать 2 IP-адреса в этой строчке нельзя. Если нужно ограничить подключение к серверу MySQL, нужно использовать возможности iptables.
Теперь через telnet-клиент Вы можете подключиться к серверу базы данных, но для того, чтобы зайти внутрь нужна учетная запись, которой разрешено подключаться не только с localhost. Для этого нужно подключиться к MySQL с самого сервера и создать такого пользователя:
Mysql -u root -p
И командой создаем пользователя:
GRANT ALL PRIVILEGES ON *.* TO "новый_пользователь"@"удаленный_адрес" IDENTIFIED BY "пароль" WITH GRANT OPTION;
Эта строчка создает пользователя с неограниченными правами, что делать не совсем правильно. Правильнее максимально ограничить доступ пользователя, который подключается удаленно. Поэтому команда может выглядеть так:
GRANT SELECT,INSERT,DELETE,UPDATE,CREATE,ALTER ON "имя_базы".* TO "новый_пользователь"@"удаленный_адрес" IDENTIFIED BY "пароль" WITH GRANT OPTION;
Этой командой мы ограничили полномочия пользователя только одной базой данных и действиями с ней.
Полный список всех прав, которые можно указать пользователю:
- ALL PRIVILEGES – все права на указанный объект за исключением назначения прав на этот объект;
- CREATE – право на создание таблицы;
- ALTER – право на изменение таблицы;
- DROP – право на уничтожение таблицы;
- LOCK TABLES – право на блокировку таблицы;
- CREATE TEMPORARY TABLES – право на создание временных таблиц;
- CREATE ROUTINE – право на создание хранимых процедур и функций;
- ALTER ROUTINE – право на изменение или уничтожение хранимых процедур и функций;
- CREATE VIEW – право на создание представления;
- TRIGGER – право на создание и уничтожение триггеров;
- INDEX – права на создание и уничтожение индексов;
- EXECUTE – право на выполнения хранимых процедур и функций;
- EVENT – право на создание событий;
- CREATE USER – права на создание, уничтожение, переименование пользователя и снятия все прав. Назначается только на глобальном уровне;
- SELECT – право на выборку;
- DELETE – право на удаление;
- INSERT – право на вставку;
- UPDATE – право на обновление;
- FILE – право на использование команд SELECT … INTO OUTFILE и LOAD DATA INFILE ;
- PROCESS – право на просмотр всех процессов командой SHOW PROCESSLIST ;
- SHOW DATABASES – право на просмотр списка схем;
- SHOW VIEW – право на просмотр списка представлений;
- SHUTDOWN – право на закрытие.
Сервер баз данных хранит в таблицах огромное количество важной информации. Проще всего взаимодействовать с этими данными на локальном компьютере с помощью графического интерфейса. Чтобы создать удаленное подключение к серверу базы данных, как правило, необходимо настроить 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 вы можете соединяться с базой данных на сервере хостинга с вашего домашнего компьютера, используя удобные для вас программы для работы с базами данных.
Простое подключение
Для настройки простого подключения к MySQL извне зайдите в Панель управления и перейдите в раздел «Базы данных MySQL».
Нажмите кнопки «Доступ по IP» → «Добавить IP» и укажите IP-адрес, с которым вы выходите в сеть. Узнать свой IP-адрес можно на сайте inet.from.sh .
В форме можно указывать в том числе и IP-адреса с символом % в октетах. К примеру, для разграничения доступа с IP-адресов одной подсети:
192.168.1.%
Нажмите «Добавить».
Теперь вы можете подключаться к базе данных на сервере хостинга с вашего компьютера. Для подключения используйте следующие настройки:
- сервер для подключения: имя вашего домена, например yourdomain.ru;
- порт для подключения: 3306;
- имя пользователя и пароль: установленные вами при создании базы данных имя пользователя и пароль.
Mysql -P 3306 -h yourdomain.ru -u mylogin_user -p mylogin_db
Безопасное подключение через SSH-туннель
В целях обеспечения безопасности ваших данных используйте подключение к базам данных MySQL через SSH-туннель. Данные передаются по SSH-туннелю в зашифрованном виде, что исключает возможность их перехвата.
Подключение к БД MySQL с компьютера под управлением ОС MS Windows
Установите на ваш компьютер программу putty . Это бесплатное программное обеспечение, скачать ее можно на официальном сайте .
Запустите программу.
После этого нажмите кнопку «Add».
После этого нажмите кнопку «Open». Установится соединение с вашим хостом.
В качестве логина и пароля используйте ваши данные для входа в Панель управления хостингом.
Туннель установлен. Для соединения с базой данных используйте имя пользователя и пароль, заданные вами при создании базы данных в разделе Панели управления «Базы данных». В качестве адреса сервера используйте 127.0.0.1, порт для подключения 3306.
Пример подключения с помощью программы mysql (пароль будет запрошен при подключении):
Внимание: если на вашем компьютере уже работает сервер баз данных MySQL, подключение удаленному серверу по порту 3306 будет невозможно. В этом случае при создании подключения в putty укажите другой порт в качестве "Source port", например, 3307 . Используйте этот порт при подключении к базе данных.
Подключение к БД MySQL с компьютера под управлением ОС Linux
В командной строке выполните следующую команду:
Ssh -L3306:localhost:3306 -n [email protected]
- 3306 (сразу после ключа -L) - порт на локальном компьютере, к которому вы сможете подключаться клиентом mysql;
- yourlogin - имя вашего аккаунта (логин в Панели управления);
- yourdomain.ru - имя вашего сайта.
В качестве пароля используйте пароль для входа в Панель управления хостингом.
Туннель установлен. Для соединения с базой данных используйте имя пользователя и пароль, заданные вами при создании базы данных в разделе Панели управления «Базы данных». В качестве адреса сервера используйте 127.0.0.1, порт для подключения 3306.
Пример подключения с помощью программы mysql (пароль будет запрошен при подключении):
Mysql -P 3306 -h 127.0.0.1 -u mylogin_user -p mylogin_db
Внимание: если на вашем компьютере уже работает сервер баз данных MySQL, подключение удаленному серверу по порту 3306 будет невозможно. В этом случае при запуске ssh сразу после ключа -L укажите альтернативный порт, например, 3307. Используйте этот порт при подключении к базе данных.
Проверка соединения с БД MySQL
Проверить соединение с БД можно посредством утилиты telnet . Войдите в интерфейс командной строки (в ОС MS Windows: Пуск → Выполнить → cmd.exe), наберите команду:
Telnet 127.0.0.1 3306
Если соединение установлено, процедуру настройки туннеля можно считать завершенной. В противном случае необходимо тщательно проверить настройки, убедиться в отсутствии сетевых проблем и связаться со службой технической поддержки.