Перейти к содержанию

Как создать базу данных MySQL в phpMyAdmin

Материал из Викижурнал
Как создать базу данных MySQL в phpMyAdmin

Создание базы данных MySQL в phpMyAdmin — базовая операция при установке сайта, CMS, форума, интернет-магазина или собственного веб-приложения. База данных хранит структурированную информацию: настройки сайта, тексты страниц, учётные записи пользователей, комментарии, заказы, служебные записи и другие данные, которые приложение должно быстро сохранять и получать.

phpMyAdmin — веб-интерфейс для администрирования MySQL и MariaDB. С его помощью можно создавать базы данных и таблицы, управлять пользователями и правами, импортировать и экспортировать дампы, выполнять SQL-запросы и просматривать содержимое таблиц через браузер.[1]

Что нужно перед созданием базы данных

Перед созданием базы данных желательно заранее подготовить:

  • название базы данных;
  • имя пользователя базы данных;
  • надёжный пароль;
  • понимание, с какого хоста приложение будет подключаться к базе данных;
  • кодировку и сравнение строк, которые будут использоваться в проекте.

Для современных сайтов обычно выбирают кодировку utf8mb4, так как она поддерживает полный набор символов Unicode, включая эмодзи и редкие символы. В MySQL база данных может создаваться с указанием набора символов и правила сравнения строк.[2]

MySQL, MariaDB и phpMyAdmin

MySQL — реляционная система управления базами данных. Данные в ней организуются в базы данных, таблицы, строки и столбцы. Для работы с данными используется язык SQL: через него создают таблицы, добавляют записи, выбирают данные, изменяют структуру и настраивают права доступа.

MariaDB — распространённая СУБД, совместимая с MySQL на уровне многих практических задач. На хостингах phpMyAdmin часто используется как для MySQL, так и для MariaDB, поэтому в панели управления может быть указано одно из этих названий.

phpMyAdmin не является самой базой данных. Это удобная административная оболочка: пользователь выполняет действия в веб-интерфейсе, а phpMyAdmin отправляет соответствующие команды серверу MySQL или MariaDB.

Где создавать базу данных

На хостинге базу данных обычно создают одним из двух способов:

  • через панель управления хостингом;
  • через phpMyAdmin, если у пользователя есть права на создание баз данных и управление пользователями.

На большинстве коммерческих хостингов первый способ удобнее: панель управления сразу создаёт базу данных, пользователя, пароль и нужные права. После этого phpMyAdmin используют уже для просмотра таблиц, импорта дампа, экспорта резервной копии или выполнения отдельных SQL-запросов.

Создание базы данных в phpMyAdmin

Интерфейс phpMyAdmin может немного отличаться в зависимости от версии и настроек сервера, но общий порядок остаётся одинаковым.

  1. Откройте phpMyAdmin из панели управления хостингом или по адресу, который указан в настройках сервера.
  2. Авторизуйтесь пользователем MySQL/MariaDB, у которого есть право создавать базы данных.
  3. Перейдите во вкладку Базы данных.
  4. Введите название новой базы данных.
  5. Выберите кодировку и сравнение строк. Для большинства современных веб-проектов подойдёт вариант на базе utf8mb4.
  6. Нажмите кнопку создания базы данных.
  7. Если пользователь базы данных ещё не создан, создайте его во вкладке управления пользователями и назначьте права на новую базу.

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


Создание MySQL базы данных в phpMyAdmin
Общий вид phpMyAdmin
Общий вид phpMyAdmin  
Добавление пользователя
Добавление пользователя  
Создание базы данных MySQL
Создание базы данных MySQL  

Создание пользователя и прав доступа

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

Обычная схема выглядит так:

  1. создаётся база данных, например site_db;
  2. создаётся пользователь, например site_user;
  3. пользователю выдаются права только на эту базу данных;
  4. логин, пароль, имя базы и адрес сервера базы данных указываются в конфигурации сайта.

Если сервером управляет хостинг-панель, эти действия часто выполняются одним окном: пользователь вводит название базы, имя пользователя и пароль, а панель сама назначает права.

Создание базы данных через SQL

В phpMyAdmin можно выполнить SQL-запрос вручную через вкладку SQL. Такой способ удобен, если нужно точно указать кодировку или быстро повторить настройку на другом сервере.

CREATE DATABASE site_db
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_unicode_ci;

Создание пользователя и выдача прав также может выполняться SQL-командами, если у текущей учётной записи достаточно прав:

CREATE USER 'site_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON site_db.* TO 'site_user'@'localhost';
FLUSH PRIVILEGES;

На виртуальном хостинге такие команды могут быть запрещены. В этом случае пользователя нужно создавать через панель управления хостингом.

Создание базы данных в панели хостинга

Многие хостинг-панели позволяют создать базу данных без прямого входа в phpMyAdmin. В разных панелях названия пунктов отличаются, но общий порядок обычно такой:

  1. Открыть раздел Базы данных или MySQL/MariaDB.
  2. Нажать кнопку создания новой базы данных.
  3. Указать название базы, имя пользователя и пароль.
  4. Сохранить данные подключения.
  5. Открыть phpMyAdmin только при необходимости проверить таблицы, импортировать дамп или выполнить запрос.


Создание MySQL базы данных в FastPanel
Общий вид FastPanel
Общий вид FastPanel  
Страница управления MySQL
Страница управления MySQL  
Создание базы данных MySQL
Создание базы данных MySQL  

Данные для подключения сайта

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

  • сервер базы данных: чаще всего localhost, но на некоторых хостингах используется отдельный адрес;
  • имя базы данных;
  • имя пользователя;
  • пароль;
  • порт, если он отличается от стандартного;
  • кодировку соединения.

Эти данные вводятся в установщик CMS или в конфигурационный файл сайта. Например, при установке WordPress, Joomla, Drupal, MediaWiki и других систем обычно требуется указать имя базы, пользователя, пароль и адрес сервера базы данных.

Проверка соединения с базой данных

Проверить соединение можно небольшим PHP-файлом. В современных версиях PHP не следует использовать старые функции семейства mysql_*: они удалены и заменены расширениями mysqli и PDO. Ниже приведён пример проверки соединения через mysqli.[3]

<?php
$host = 'localhost';
$dbName = 'site_db';
$dbUser = 'site_user';
$dbPassword = 'strong_password';

$connection = mysqli_connect($host, $dbUser, $dbPassword, $dbName);

if (!$connection) {
    die('Ошибка соединения: ' . mysqli_connect_error());
}

mysqli_set_charset($connection, 'utf8mb4');

echo 'Соединение с базой данных установлено';

mysqli_close($connection);

Такой файл нужно использовать только для проверки и не оставлять в открытом доступе после настройки сайта. В рабочем проекте пароль к базе данных должен храниться в конфигурационном файле вне публичной части сайта или в защищённых переменных окружения.

Рекомендации по безопасности

  • Используйте отдельного пользователя для каждого сайта или приложения.
  • Не подключайте сайт к базе данных от имени администратора MySQL.
  • Выдавайте пользователю только те права, которые действительно нужны проекту.
  • Используйте длинный уникальный пароль.
  • Не публикуйте дампы базы данных и файлы конфигурации в открытом доступе.
  • Регулярно создавайте резервные копии базы данных.
  • Удаляйте тестовые PHP-файлы после проверки соединения.

Частые проблемы

Нет кнопки создания базы данных
У текущего пользователя нет права CREATE. Базу нужно создать через панель хостинга или под административной учётной записью.
Ошибка подключения сайта к базе
Проверьте имя базы, имя пользователя, пароль, адрес сервера и порт. На некоторых хостингах сервер базы данных отличается от localhost.
Неправильно отображается кириллица
Проверьте кодировку базы, таблиц и соединения. Для современных сайтов обычно используют utf8mb4.
Импорт дампа не проходит
Причиной может быть большой размер файла, ограничение времени выполнения PHP, несовместимость версии MySQL/MariaDB или недостаток прав пользователя.

См. также

Статьи по схожей теме

Источники