- Как подключиться к базе данных MySQL: инструкция
- Способы, доступные пользователю
- Как выяснить адрес и подключиться к серверу MySQL
- Сколько подключений к БД доступно
- Подключение из разных операционных систем
- Подключение через phpMyAdmin
- Выводы
- Удаленное подключение к MySQL
- Создание удалённого подключения в ISPmanager 6
- Создание удалённого подключения в консоли
- Предоставление прав пользователю
- Как подключиться к MySQL
- С помощью phpMyAdmin
- С помощью SSH
- Windows
- Linux
- Заключение
Как подключиться к базе данных MySQL: инструкция
Подключение к удаленной базе данных MySQL позволяет работать с ее содержимым аналогично локальным БД. Такой подход позволяет редактировать, считывать информацию через интернет с любого компьютера независимо от расположения пользователя.
В этом материале мы рассмотрим, как подключиться к MySQL несколькими способами. В качестве тестовой базы можно применять облачные базы данных провайдера Timeweb Cloud. Запуск БД там займет пару минут.
Способы, доступные пользователю
Существует несколько вариантов коннекта, какой именно выбрать, решать вам:
- Командная строка MySQL. Входит в комплект сервера MySQL.
- Графические инструменты вроде phpMyAdmin. В качестве альтернативы также используют Sequel Pro, MySQL Workbench и пр.
Во всех перечисленных способах возможно подключение по защищенному каналу благодаря SSL-сертификату.
Как выяснить адрес и подключиться к серверу MySQL
Если вы используете облачную базу данных, найти нужный IP-адрес можно в панели управления аккаунтом в разделе «Базы данных». IP-адрес отображен в колонке «IPv4» строки с нужной БД. Вы можете скопировать адрес, просто кликнув на него.
Если база данных размещена на сервере (то есть речь идет не об облачной базе), то нужный IP — это IP-адрес вашего сервера. Найти его можно на странице нужного сервера, на вкладке «Дашборд».
Сколько подключений к БД доступно
Количество одновременно работающих с базой данных пользователей или приложений ограничено объемом оперативной памяти, выделенной на работу нод конкретного кластера. Все, что требуется от пользователя, это изменить тариф на Timeweb Cloud , масштабировать его под свои требования.
Подключение из разных операционных систем
Рассмотрим, как подключиться к базе данных MySQL из разных операционных систем. Выглядеть команды будут так:
mysql --host= \
--port=6033 \
--user= \
--password \
--database= \
--ssl-mode=disabled
mysql --host= \
--port=6033 \
--user= \
--password \
--database= \
--ssl-mode=disabled
Программный код
import mysql.connector
cnx = mysql.connector.connect(user='', password='',
host='',
database='')
cnx.close()
Подключение через phpMyAdmin
Последним шагом рассмотрим, как подключиться к MySQL Server через графический интерфейс приложения, разработанного для администрирования данной СУБД. Пользователю достаточно ввести в конфигурационный файл, расположенный на диске по пути /etc/phpmyadmin/config.inc.php , несколько новых строк:
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['port'] = '6033';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = false;
На платформе Timeweb Cloud есть готовые инстансы phpMyAdmin и Adminer. Все что требуется от пользователя при их использовании, это ввести реквизиты для подключения. Но работают они лишь с белыми IP-адресами.
Выводы
Работать с удаленной базой данных можно с криптографической защитой данных или без нее. Это зависит от задачи, которую предстоит решать. Соединение возможно как вручную из операционок Linux и Windows, так и автоматически при наличии в приложении соответствующего кода. Вопрос, как подключиться к локальному серверу MySQL , имеет то же решение. Отличие составляет лишь адрес, который понадобится указать в командах.
Удаленное подключение к MySQL
По умолчанию подключиться к MySQL можно только с того же хоста. Чтобы получить доступ к серверу с другого IP-адреса, нужно настроить удалённое подключение.
Внимание! После ручной правки конфигураций MySQL — my.cnf требуется перезапустить сервер MySQL. ISPmanager5 — Службы — MySQL/MariaDB — Рестарт или в консоли сервера:
systemctl restart mysql systemctl restart mariadb
Создание удалённого подключения в ISPmanager 6
В панели ISPmanager — раздел Настройки — Серверы баз данных выделите сервер MySQL и нажмите кнопку Изменить .
В открывшемся окне поставьте галочку Удаленный доступ . В поле IP-адрес выберите IP, по которому будет доступно подключение.
В панелях с версией ниже 5.95 опции Удаленный доступ нет. Необходимо выполнить настройки вручную. В конфигурационном файле /etc/my.cnf ( /etc/mysql/my.cnf для Debian) должна отсутствовать строка skip-networking , если она присутствует — следует её закомментировать:
Также следует добавить/изменить:
Для удалённого подключения к базам данных требуется при создании базы отметить Удалённый доступ .
Если при создании базы вы не выбрали данную опцию, её можно указать в Управлении пользователями баз данных . Для этого перейдите в раздел Инструменты — Базы данных — выделите нужную базу — нажмите кнопку Пользователи — затем кнопку Изменить .
Пустое поле списка IP-адресов делает возможным подключение с любого IP.
Создание удалённого подключения в консоли
В конфигурационном файле /etc/my.cnf ( /etc/mysql/my.cnf для Debian) должна отсутствовать строка skip-networking , если она присутствует — следует её закомментировать:
Также следует добавить/изменить:
Подключитесь к сервер MySQL суперпользователем:
Далее создайте пользователя, например, dbuser (если вместо % указать localhost, авторизация будет возможна только с текущего сервера):
create user 'dbuser'@'%' identified by 'password'
Можно проверить, что мы создали, командой, выводящей всех пользователей с их хостом и паролем:
select user,host,password from mysql.user;
Создайте базу, например, testdb :
Предоставление прав пользователю
Права, назначенные пользователю, определяют, какие действия он сможет выполнять с базой данных. Можно назначать несколько привилегий одному пользователю.
Наиболее часто назначаемые права:
- ALL PRIVILEGES — пользователю предоставляется полный доступ к базе данных.
- CREATE — пользователю разрешено создавать базы данных и таблицы.
- DROP — пользователю разрешено удалять базы данных и таблицы.
- DELETE — пользователю разрешено удалять строки из определенной таблицы.
- INSERT — пользователю разрешено вставлять строки в определенную таблицы.
- SELECT — пользователю разрешено читать базу данных.
- UPDATE — пользователю разрешено обновлять строки таблицы.
- GRANT OPTION — пользователю разрешено изменять права других пользователей.
Назначить привилегии пользователю можно, используя синтаксис:
GRANT permission ON database.table TO 'username'@'%';
где permission — вид предоставляемой привилегии.
Например, установите полные права на базу testdb пользователю dbuser :
GRANT ALL PRIVILEGES ON testdb.* TO 'dbuser'@'%';
Предоставить права на вставку:
GRANT INSERT ON *.* TO 'dbuser'@'%';
Предоставить несколько привилегий пользователю:
GRANT SELECT, INSERT, DELETE ON testdb.* TO 'dbuser'@'%';
Можно ограничить права пользователя на добавление данных в определенной базе, указав её перед точкой. Для ограничения прав на доступ к определенной таблице укажите нужную таблицу после точки:
GRANT INSERT *database_name.table_name* TO 'dbuser'@'%';
Отозвать все привилегии пользователя:
REVOKE ALL PRIVILEGES ON testdb.* FROM 'dbuser'@'%';
Посмотреть текущие привилегии пользователя:
После завершения настройки прав необходимо перезагрузить привилегии:
Как подключиться к MySQL
Работать с MySQL можно с сервера, на котором расположена база данных, или с подручного устройства. Дистанционная работа с MySQL позволяет вносить изменения в БД с любого компьютера и использовать для этого удобные приложения. Поэтому перед начинающими разработчиками встает вопрос о том, как подключиться к базе данных MySQL удаленно. Выбор способа подключения зависит от уровня навыков специалиста и сложности стоящих перед ним задач: через веб-интерфейс phpMyAdmin — для повседневной работы, или через протокол SSH — для создания безопасного соединения и выполнения сложных функций. Инструкция по тому, как подключиться к базе данных MySQL — в статье.
С помощью phpMyAdmin
Панель phpMyAdmin — веб-приложение с удобным графическим интерфейсом для работы с сервером MySQL. Приложение поддерживает большинство функций системы управления базами данных:
- создание, копирование и удаление базы данных;
- создание таблиц;
- редактирование табличных полей;
- поиск информации по БД;
- выполнение SQL-запросов;
- просмотр прав пользователя и управление ими;
- импорт и экспорт данных.
Веб-интерфейс поможет разобраться в работе с СУБД даже начинающим системным сисадминам и разработчикам: чтобы настроить нужную функцию, достаточно зайти в раздел с соответствующим ей названием и выбрать из списка подходящие параметры. Например, найти данные можно с помощью пункта «Поиск».
В phpMyAdmin можно зайти через панель управления хостингом в Макхост, на виртуальном хостинге по умолчанию — ispmanager. Шаги по настройке удаленного подключения к БД через административную панель:
Шаг 1. Выберите существующую базу данных или создайте новую. После авторизации в админке необходимо открыть раздел меню «Основное» и перейти в пункт «Базы данных». Выберите нужную БД из появившегося списка. При создании новой базы не забудьте разрешить к ней удаленный доступ.
Шаг 2. Создайте пользователя с удаленным доступ к БД. Перед тем как открыть MySQL, необходимо создать пользователя, который будет осуществлять управление базой данных. В открывшемся окне выберите параметр «Пользователи» и нажмите кнопку «Добавить». Установите имя и пароль, которые системный администратор будет использовать для входа в web-интерфейс phpMyAdmin. Разрешите ему удаленный доступ, установив флажок напротив одноименного пункта, и определите, какие данные он сможет просматривать и редактировать.
Шаг 3. Откройте phpMyAdmin и пройдите авторизацию. После выбора пользователя, кнопка «phpMyAdmin» в панели управления станет активной. При ее нажатии вы попадете на страницу входа в веб-интерфейс по управлению БД. Сообщите хостинг-провайдеру IP-адрес, с которого будет осуществляться дистанционное подключение, чтобы избежать проблем доступом.
С помощью SSH
Подключение к серверу с MySQL по SSH начинающие разработчики выбирают редко, так как в этом случае отсутствует графический интерфейс, а управление БД осуществляется с помощью командной строки операционной системы. Однако такое решение имеет свои преимущества — подключение защищено шифрованием, а значит, передаваемые данные нельзя перехватить, и доступно больше функций для работы с информацией. Разбираемся, как подключиться к базе данных MySQL с помощью SSH в ОС Windows и дистрибутивах Linux.
Windows
Для создания SSH-туннелирования в Windows используется специализированное ПО. Наиболее популярной среди остальных программ является PuTTY. Скачать ее можно с официального сайта разработчика бесплатно. Последовательность настроек:
Шаг 1. Настройки Session. В поле Host Name необходимо указать ftp.доменное_имя, Port — 22, Connection type — SSH.
Шаг 2. Настройки Connection. Выберите тип соединения с сервером SSH, Telnet. Перейдите к заполнению полей: Source port — 3306 (порт для локального доступа после установки туннеля), Destination — localhost:3306 (хост, к которому подключаются по заданному порту) и Local (локальное подключение). Forwarded port заполнится автоматически после нажатия кнопки Add.
Шаг 3. Установка соединения с удаленным сервером по SSH. После установки всех настроек вернитесь в пункт Session и нажмите кнопку Open. Пройдите авторизацию по логину и паролю от ftp. Как правило, логин – root, а пароль отправляется хостингом в почтовом письме после установки ОС.
Linux
В дистрибутивах Линукс удаленное подключение к MySQL создается с помощью командной строки — Терминала. Последовательность команд:
Заключение
MySQL облегчает работу с данными сайта. Управлять БД напрямую с сервера, на котором она расположена, не всегда удобно, иногда может потребоваться дистанционная работа. Чтобы обезопасить подключение к серверу и доступ к данным, используют сочетание SSH-туннеля и специальных программ: в Windows — PuTTY, в Linux — Терминала. Когда пользователь нуждается в интуитивно понятном интерфейсе, он может воспользоваться phpMyAdmin.