Коли починаєш робити сайти на PHP, дуже швидко з'являється база даних MySQL (або MariaDB). А щоб із нею працювати, не обов'язково одразу вчити всі команди SQL – є phpMyAdmin. Це веб-інтерфейс, у якому бази, таблиці й записи можна створювати, переглядати й редагувати мишкою, просто в браузері. Розповім, як ним користуватися: від першого входу до резервних копій і кількох корисних налаштувань.

Що таке phpMyAdmin

phpMyAdmin – безкоштовна програма з відкритим кодом, написана на PHP. Вона працює на тому ж сервері, що й сайт, і відкривається в браузері. Через неї зручно:

  • створювати бази даних і користувачів для сайтів;
  • дивитися й редагувати таблиці та записи;
  • виконувати SQL-запити;
  • робити резервні копії (експорт) і відновлювати їх (імпорт).

Майже на кожному хостингу phpMyAdmin є в панелі керування, а на локальному сервері його встановлюють разом з Apache, PHP і MySQL. Як підняти такий сервер, я показував для Linux Mint та Ubuntu, Fedora і Windows.

Як відкрити phpMyAdmin і увійти

На локальному сервері phpMyAdmin зазвичай відкривається за адресою http://localhost/phpmyadmin. На хостингу – через кнопку в панелі керування.

Для входу потрібні ім'я користувача й пароль MySQL. На локальному сервері це часто root і пароль, який ти задав/ла при встановленні (у деяких збірках для Windows пароль порожній). На хостингу – дані, які видає панель.

Інтерфейс: що де

  • Ліва колонка – список баз даних. Клацни на базу, щоб побачити її таблиці.
  • Верхні вкладки – дії з вибраним об'єктом: Огляд (переглянути записи), Структура, SQL, Пошук, Вставити, Експорт, Імпорт, Операції.
  • Головна сторінка (значок будиночка) – загальні налаштування, мова інтерфейсу, тема оформлення, інформація про сервер.

Інтерфейс перекладений українською, мову можна вибрати на головній сторінці.

Як створити базу даних

  1. Перейди на вкладку Бази даних.
  2. Введи назву бази, наприклад my_site.
  3. У списку порівняння вибери utf8mb4_unicode_ci (або новішу utf8mb4_0900_ai_ci у MySQL) – так у базі нормально зберігатимуться українські літери і навіть емодзі 🙂
  4. Натисни Створити.

Порада: латиниця, цифри й підкреслення в назві бази – і жодних проблем потім не буде.

Таблиці й записи

Щоб створити таблицю, відкрий базу, введи назву таблиці й кількість стовпців. Далі для кожного стовпця задаєш назву і тип: INT для цілих чисел, VARCHAR для коротких рядків, TEXT для довгого тексту, DATETIME для дати. Першому стовпцю, зазвичай id, постав індекс PRIMARY і позначку A_I (auto increment), щоб номер кожного запису генерувався сам.

Додати запис можна на вкладці Вставити, а переглянути й відредагувати – на вкладці Огляд: кожен рядок має кнопки Редагувати, Копіювати і Видалити. А ще значення можна змінювати просто подвійним клацанням по клітинці.

SQL-запити

На вкладці SQL можна виконати будь-який запит, наприклад:

SELECT id, title FROM posts WHERE title LIKE '%Linux%' ORDER BY id DESC LIMIT 10;

Будь обережний/а із запитами UPDATE і DELETE без умови WHERE – вони змінять або видалять усі записи в таблиці. Перед такими експериментами краще зробити резервну копію.

Як зробити резервну копію бази (експорт)

  1. Вибери базу в лівій колонці.
  2. Відкрий вкладку Експорт.
  3. Спосіб «Швидкий», формат SQL – і натисни Експорт.

Браузер завантажить файл .sql – це повна копія бази. Робити її варто перед будь-якими серйозними змінами, оновленням сайту чи переїздом на інший хостинг.

Як відновити базу (імпорт)

Створи (або вибери) базу, відкрий вкладку Імпорт, вибери файл .sql і натисни Імпорт. Великі файли можна стиснути в .zip чи .gz – phpMyAdmin розпакує їх сам.

Якщо файл завеликий і phpMyAdmin пише про ліміт розміру, на своєму сервері можна збільшити в php.ini параметри upload_max_filesize і post_max_size. А дуже великі бази надійніше імпортувати через термінал:

mysql -u root -p my_site < backup.sql

Окремий користувач для кожного сайту

Не підключай сайт до бази від імені root. Набагато безпечніше створити для кожного сайту свого користувача з доступом лише до його бази. У phpMyAdmin це робиться на вкладці Облікові записи користувачів – Додати обліковий запис користувача: задаєш ім'я, хост localhost, пароль (кнопка Згенерувати придумає надійний) і ставиш позначку створити базу з таким самим ім'ям і надати на неї всі права.

Якщо сайт зламають, зловмисник отримає доступ лише до однієї бази, а не до всіх одразу.

Як приховати непотрібні бази даних

Одразу після встановлення в списку баз ти побачиш кілька службових: information_schema, mysql, performance_schema, sys. Видаляти їх у жодному разі не можна, а от візуально вони заважають. На цей випадок розробники phpMyAdmin залишили можливість просто сховати зайві бази з очей.

З головної сторінки зайди в Налаштування (або Додаткові налаштування):

Перехід до налаштувань на головній сторінці phpMyAdmin

Далі відкрий Особливості – Бази даних і впиши в поле приховування баз ті, що заважають. Якщо їх кілька, розділяй вертикальною рискою |, бо поле приймає регулярний вираз, а риска в ньому означає «або». Підтвердь кнопкою Застосувати:

Поле приховування баз даних у налаштуваннях phpMyAdmin

Якщо список не змінився, вийди з phpMyAdmin і увійди знову.

Ці налаштування зберігаються для твого користувача (у браузері або в службовій базі phpMyAdmin). Якщо хочеш сховати бази для всіх і назавжди, на своєму сервері це можна зробити у файлі конфігурації config.inc.php:

$cfg['Servers'][$i]['hide_db'] = '^(information_schema|performance_schema|mysql|sys)$';

Безпека

  • Не залишай phpMyAdmin відкритим для всього інтернету на своєму сервері. Це одна з перших адрес, яку перевіряють боти. Обмеж доступ за IP, сховай його за додатковим паролем веб-сервера або хоча б зміни стандартну адресу.
  • Надійний пароль для root і окремі користувачі для сайтів – про це вище.
  • Оновлюй phpMyAdmin разом з рештою системи.

Альтернативи phpMyAdmin

  • Adminer – усе те саме, але в одному PHP-файлі. Зручно, коли треба швидко глянути базу на сервері.
  • HeidiSQL (Windows) і DBeaver (Windows, macOS, Linux) – програми для комп'ютера, які підключаються до бази напряму. Наприклад, Laragon за замовчуванням іде саме з HeidiSQL.

Що далі

Якщо ще не маєш локального сервера, почни з Laragon на Windows або LAMP у Linux Mint та Ubuntu. Працюєш із WordPress? Глянь, як взаємодіяти з базою даних WordPress через об'єкт $wpdb. А для зручного написання PHP-коду знадобиться налаштований VS Code.

Більше про це – за позначками phpMyAdmin та MySQL.

А ти працюєш із базами через phpMyAdmin чи віддаєш перевагу консолі? Пиши в коментарях 🙂