# Работа с базами данных
Хостинг Джино предоставляет возможность подключения двух наиболее популярных систем управления базами данных (СУБД) — MySQL и PostgreSQL. Чтобы узнать подробнее, вы можете либо прочитать данную текстовую инструкцию, либо посмотреть ролик ниже.
# Общая информация
MySQL — наиболее распространённая на данный момент СУБД. Большинство динамических сайтов использует именно MySQL в качестве хранилища своих данных.
PostgreSQL — высокопроизводительная СУБД, работу которой поддерживают не все CMS и блоговые движки.
Подключить поддержку MySQL или PostgreSQL можно в разделе Услуги. При подключении вы можете выбрать объём и количество баз данных:
Базы данных размещаются на высокопроизводительных SSD-накопителях. Это позволяет обеспечивать более высокую скорость работы динамических сайтов по сравнению с аналогичными сайтами, базы данных которых располагаются на традиционных HDD-дисках.
Для MySQL мы используем MariaDB вплоть до 10.6. На разных серверах могут быть разные версии MariaDB. Если вы хотите установить собственную версию MySQL с индивидуальными настройками, воспользуйтесь Джино.VPS (opens new window).
MySQL поддерживает работу таблиц MyISAM и InnoDB.
Принципы работы с обеими базами данных в контрольной панели Джино практически одинаков, поэтому мы написали общую инструкцию для них.
# Создание базы данных
При подключении услуги СУБД xxSQL автоматически создаётся одна база данных и пользователь для неё. Их имена совпадают.
Примечание
Эту базу данных нельзя удалить.
Создать новую базу данных можно в разделе УправлениеУправление. Имя новой базы будет иметь вид j12345678_имяБД.
Создавать базы данных прямым SQL-запросом CREATE DATABASE
нельзя.
Выделенное дисковое пространство распределяется между всеми базами данных хостинг-контейнера. Устанавливать квоту дискового пространства для отдельной базы данных возможности нет. Можно увеличить доступное дисковое пространство и число баз для создания, выбрав другой вариант услуги СУБД xxSQL.
# Пользователи
Для каждого нового хостинг-контейнера создаётся уникальное имя root-пользователя базы данных. Перед первым входом в базу или в phpMyAdmin нужно задать пароль этого пользователя. В разделе УправлениеУправление xxSQL выберите пользователя и нажмите на значок редактирования около его имени:
В открывшемся окне «Редактирование пользователя БД» задайте новый пароль:
Для каждой базы данных на вашем аккаунте вы можете создать одного дополнительного пользователя. Это можно сделать во время создания новой базы или для одной из уже имеющихся. При создании нового пользователя можно задать его пароль доступа к базе данных.
# Настройка приложений
Для настройки подключения скриптов или приложений к базе нужно указать данные для подключения в конфигурационном файле или конфигурационном блоке.
Обычно для настройки подключения достаточно следующих данных:
- Имя сервера (хост) или сокет;
- Порт для подключения;
- Имя базы данных;
- Имя пользователя базы данных;
- Пароль к базе.
Имя сервера, сокет и порт для подключения указаны в разделе УправлениеТехническая информация. Имена баз данных и их пользователей представлены в разделе УправлениеУправление MySQL (PostgreSQL).
К базам MySQL можно подключаться локально (localhost), по имени сервера или через сокет. К базам PostgreSQL — только по имени сервера.
# Доступ
По умолчанию доступ к вашим базам данных возможен только с того же сервера, на котором находится ваш аккаунт.
# Удалённый доступ по IP
Вы можете открыть удалённый доступ к своим базам данных для отдельных IP-адресов или подсетей класса C (123.45.67.*) — например, чтобы управлять базами данных через MySQL Administrator, Navicat или различных PostgreSQL-менеджеров.
Для этого в меню УправлениеУправление MySQLДоступ по IP (УправлениеУправление PostgreSQLДоступ по IP) укажите IP-адрес компьютера или подсети, откуда будет осуществляться доступ:
Адрес для удалённого подключения к MySQL и PostfreSQL указан в разделе УправлениеТехническая информация.
Примечание
Одновременно можно открыть доступ не более чем для 20 IP-адресов или подсетей.
# SSH-подключение
SSH-подключение используется для безопасного удалённого подключения к БД. В случае подключения по SSH весь трафик между пользователем и базой данных шифруется.
Чтобы подключиться к базе данных по SSH, нужно:
Подключить услугу Поддержка SSH
Добавить свой IP в список разрешённых в меню УправлениеНастройки SSH. Это нужно делать каждый раз перед подключением, если вы используете динамический IP:
Примечание
Добавлять свой IP в список разрешённых в разделе Управление MySQL (Управление PostgreSQL) не требуется.
Установить любой из SSH-клиентов на свою машину, например, PuTTY (opens new window) — бесплатный SSH-клиент для Windows. Создать новую сессию подключения: в поле Host Name укажите один из ваших доменов, в поле Saved Sessions введите произвольное имя сессии и нажмите :
Выбрать слева в списке Category пункт Connection/Data. В поле Auto-login username ввести логин для своей БД:
Указать 3306 в разделе
в поле Source Port, в поле Destination — 127.0.0.1:3306 и нажать :Вернуться в раздел Sessions и кликнуть
. Нажать для подключения и ввести пароль для пользователя базы, к которой подключаетесь.Если вы всё сделали правильно, в чёрном окошке на экране появится приглашение сервера.
Запустите программу, с помощью которой хотите работать с базой данных, и в настройках соединения укажите 127.0.0.1 в качестве имени сервера БД.
# phpMyAdmin
Для доступа к базам данных MySQL Джино.Хостинг предоставляет интерфейс phpMyAdmin.
Войти в панель управления phpMyAdmin можно через раздел меню УправлениеУправление MySQL или по этой ссылке (opens new window).
Логин и пароль для доступа к phpMyAdmin можно задать в разделе УправлениеУправление MySQL.
# Вопросы и ответы
«User 'XXX' has exceeded the 'max_questions' resource (current value: XXX)». Что делать?
Подобные ошибки или сообщения о невозможности подключения к базе данных могут возникать при автоматическом ограничении нагрузки, создаваемой вашими скриптами на MySQL. График нагрузки на MySQL приведён в разделе СтатистикаИспользование ресурсовГрафики нагрузки.
Очень часто к этому приводят медленные запросы к MySQL или непроиндексированные таблицы БД. Чтобы понять, какие именно запросы стоит оптимизировать, вы можете воспользоваться логом медленных запросов к MySQL: он содержит только самые проблемные SQL-запросы.
Как сделать экспорт (сохранить дамп) базы данных MySQL с помощью phpMyAdmin?
В интерфейсе phpMyAdmin в правом фрейме перейдите на вкладку Базы данных и выберите нужную БД.
На открывшейся странице справа перейдите на вкладку «Экспорт».
Выберите «обычный» способ экспорта, отметьте из списка те таблицы, которые вам нужно сохранить. Чтобы отметить несколько таблиц, кликайте по ним, удерживая нажатой клавишу «Ctrl», или кликните по ссылке «Выделить все» и нажмите
внизу страницы.Как сделать импорт (восстановить дамп) базы данных MySQL с помощью phpMyAdmin?
В интерфейсе phpMyAdmin в правом фрейме перейдите на вкладку Базы данных и выберите нужную БД.
На открывшейся странице справа кликните на вкладке «Импорт».
В разделе импортируемый файл нажмите
, укажите дамп импортируемой БД и нажмите внизу страницы.