Коли починаєш робити сайти на 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, Пошук, Вставити, Експорт, Імпорт, Операції.
- Головна сторінка (значок будиночка) – загальні налаштування, мова інтерфейсу, тема оформлення, інформація про сервер.
Інтерфейс перекладений українською, мову можна вибрати на головній сторінці.
Як створити базу даних
- Перейди на вкладку Бази даних.
- Введи назву бази, наприклад
my_site. - У списку порівняння вибери
utf8mb4_unicode_ci(або новішуutf8mb4_0900_ai_ciу MySQL) – так у базі нормально зберігатимуться українські літери і навіть емодзі 🙂 - Натисни Створити.
Порада: латиниця, цифри й підкреслення в назві бази – і жодних проблем потім не буде.
Таблиці й записи
Щоб створити таблицю, відкрий базу, введи назву таблиці й кількість стовпців. Далі для кожного стовпця задаєш назву і тип: 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 – вони змінять або видалять усі записи в таблиці. Перед такими експериментами краще зробити резервну копію.
Як зробити резервну копію бази (експорт)
- Вибери базу в лівій колонці.
- Відкрий вкладку Експорт.
- Спосіб «Швидкий», формат 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). Якщо хочеш сховати бази для всіх і назавжди, на своєму сервері це можна зробити у файлі конфігурації 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 чи віддаєш перевагу консолі? Пиши в коментарях 🙂


Прокоментувати
На сайті відображається лише твоє ім'я та коментар. Електронна пошта зберігається виключно для зв'язку з тобою за потреби та в жодному разі не передається стороннім особам.