Встановлення та налаштування MySQL та phpMyAdmin у Kali Linux

10 травня 2023 2 хвилин Автор: Lady Liberty

Навіщо потрібна MySQL

MySQL – це масштабована, швидка і надійна система управління базами даних, яка може працювати на будь-якій платформі, такі як Windows, Unix, Linux і т.д., і може бути встановлена ​​на робочому столі або будь-якій серверній машині. Це система баз даних з відкритим кодом, вихідний код можна змінювати відповідно до наших потреб. Найчастіше використовується в парі з PHP для зберігання баз даних веб-сайтів. Також може використовуватися як сховище даних будь-якої програми або інструменту. У MySQL є графічним інтерфейс phpMyAdmin – веб-додаток, написаний на PHP. Він дозволяє працювати з даними, у тому числі переглядати їх, змінювати, імпортувати та експортувати у веб-інтерфейсі. Для роботи phpMyAdmin необхідний веб-сервер (Apache), і звісно, PHP і MySQL. Ми написали цю статтю, щоб Ви краще зрозуміли MySQL . Вона допоможе Вам у використнні MySQL для роботи з базами даних.

Також ми розкажемо, як встановити та налаштувати phpMyAdmin, щоб отримати графічний інтерфейс управління базами даних. Використовуючи ці знання, ви зможете, наприклад, запустити сайт на локальному комп’ютері, розгорнути сайт, який використовує базу даних із резервної копії. Існує багато топ-сайтів, що використовують MySQL. Вона складається з двох основних компонентів: сервер та клієнт. Сервер MySQL це та сама СУБД, яка забезпечує роботу баз даних. Сервер необхідний роботи бази даних. Клієнт MySQL – це утиліта для підключення до сервера. Клієнт потрібний, якщо ви хочете підключатися до сервера MySQL у командному рядку. У мережевому середовищі клієнт-сервер сервер MySQL доступний як окрема програма. Крім того, він доступний у вигляді бібліотеки, яку можна пов’язати з окремим додатком.

Установка MySQL в Kali Linux

Якщо ви вже працювали з похідними Debian (Linux Mint, Ubuntu), то в них є два пакети:

  • mysql-server – сервер MySQL

  • mysql-client – клієнт MySQL

За умовчанням MySQL вже встановлено в Kali Linux, але якщо у вас мінімальна збірка, то вам може знадобитися встановити СУБД вручну.

Якщо ви спробуєте встановити пакет mysql-server, то отримаєте таку помилку (Скріншот 1):

Скріншот 1. Помилка.

Справа в тому, що в Kali Linux (і мабуть у свіжих Debian, а також у всіх її похідних) цей пакет називається по-іншому:

  • default-mysql-server (здійснювані файли СУБД та налаштування системної бази даних)

  • default-mysql-server-core (тільки здійснені файли СУБД)

Тому для встановлення MySQL використовуйте таку команду:

Встановлення MySQL.

У Kali Linux MySQL замінено на MariaDB

Ми говоримо MySQL, але MySQL повністю відсутня у репозиторіях Kali Linux. Незалежно від того, чи була ця СУБД встановлена ​​у вашу систему або ви встановили її вручну, замість неї встановлюється MariaDB (Скріншот 2).

Ви можете переконатись у цьому самі командою:

MariaDB – це також система управління базами даних. Вона є відгалуженнями від MySQL. Завдання MariaDB виконувати всі функції MySQL, але краще. Назва служби, назва файлів конфігурації не змінилися.

Скріншот 2. Встановлення MariaDB.

Конфігураційні файли MySQL:

  • /etc/mysql/my.cnf (посилання на /etc/alternatives/my.cnf)

  • /etc/mysql/debian.cnf (застарілий файл, буде видален у майбутніх версіях)

  • /etc/mysql/conf.d/mysql.cnf

  • /etc/mysql/conf.d/mysqldump.cnf

  • /etc/mysql/mariadb.conf.d/50-client.cnf

  • /etc/mysql/mariadb.conf.d/50-mysqld_safe.cnf

  • /etc/mysql/mariadb.conf.d/60-galera.cnf

  • /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf

  • /etc/mysql/mariadb.conf.d/50-server.cnf

Більшість налаштувань зібрано у файлі 50-server.cnf. За промовчанням служба MySQL прослуховує вхідні підключення лише на localhost (неможливі підключення з інших комп’ютерів).

Щоб запустити службу MySQL, виконайте команду:

Щоб увімкнути автозапуск MySQL при кожному включенні комп’ютера, виконайте команду:

Для щойно встановленого MySQL пароль користувача root є порожнім. Щоб його змінити, запустіть і дотримуйтесь інструкцій:

Підключення до MySQL

Коли служба сервера MySQL запущена, щоб підключитися до неї, потрібно використовувати команду виду:

Усі три опції є необов’язковими. Якщо пропущена опція -u, то як ім’я користувача MySQL використовуватиметься поточне ім’я користувача в ОС. Опція -p означає, що виконується вхід із паролем. Після цієї опції не треба писати пароль – він буде запитаний у запрошенні командного рядка. Якщо не вказати опцію -h, то буде зроблено спробу підключення до локального сервера.

Спроба підключення, коли не встановлено пароль користувача mysql -u root:

Це спричинить помилку:

Суть проблеми в тому, що за замовчуванням використовується аутентифікація unix_socket, тобто коли ім’я користувача ОС збігається з ім’ям користувача MySQL/MariaDB, пароль зовсім не потрібно вводити. Але інший користувач не може увійти від імені іншого користувача, тому щоб увійти як root, потрібно використовувати sudo. Можна вибрати один із варіантів:

1. Завжди використовувати sudo: mysql -u root.

2. Внести зміни до налаштувань MySQL, щоб до СУБД могли підключатися і звичайні користувачі. 3. Створити нового користувача MySQL. Якщо це буде користувач з таким же ім’ям як ваше ім’я в ОС, тоді можна використовувати автентифікацію по unix_socket і не вводити пароль при підключенні. Або можна вибрати автентифікацію за паролем та використовувати будь-яке ім’я. Щоб отримати доступ до бази даних MariaDB звичайному користувачу без використання sudo привілеїв (це також встановить пароль користувача root).

Зайдіть у запрошення командного рядка MySQL

та запустіть наступні SQL команди:

Зауважте, що вам потрібно ввести ПАРОЛЬ.

Потім спробуйте увійти до бази даних без sudo

mysql -u root -p

Зміна або відсутність пароля користувача MySQL у Kali Linux

Зайдіть в запрошення командного рядка MySQL:

mysql -u root -p

та запустіть такі команди:

Зверніть увагу, що вам потрібно запровадити НОВИЙ ПАРОЛЬ. Також зверніть увагу, що в цей спосіб змінюється пароль користувача root. Якщо ви хочете змінити пароль іншого користувача MySQL, то в попередньому запиті SQL вкажіть ім’я цього користувача, наприклад:

Якщо ви працюєте виключно на localhost’і та проблеми безпеки вас не хвилюють, то для зручності можна встановити порожній пароль (не робіть цього, якщо ви не до кінця розумієте можливі ризики):

У цьому випадку при підключенні можна не використовувати опцію -p:

mysql -u root

Як встановити phpMyAdmin у Kali Linux

За промовчанням phpMyAdmin не встановлений у Kali Linux. Установку можна виконати двома способами:

1. Оскільки phpMyAdmin це веб-додаток на PHP, то можна просто завантажити архів з вихідним кодом (скриптами) та розпакувати у будь-яку папку на сервері.

2. У більшості дистрибутивів у стандартних репозиторіях є інсталяційний пакет phpMyAdmin. Перевага цього підходу вам не потрібно стежити за виходом нових версій phpMyAdmin і робити оновлення вручну.

Я волію встановлювати phpMyAdmin зі стандартних репозиторіїв (а WordPress, навпаки, волію встановлювати просто копіюючи папку з файлами WordPress в папку веб-сервера; завдяки цьому я контролюю процес оновлення; якщо дійсно потрібно оновитися, то все це робиться в зручному веб-інтерфейсі ). Ви вже повинні бути встановлені Apache, MySQL, PHP. За замовчуванням вони вже є в Kali Linux, але якщо у вас версія з мінімальною кількістю пакетів, то встановіть їх:

Встановлюємо phpMyAdmin наступною командою:

Дайте відповідь «Ні» на запит про налаштування з dbconfig-common (Скріншот 3):

Скріншот 3. Запит.

Щоб перейти між пунктами, натисніть клавішу Tab, а потім натисніть клавішу Enter. Виберіть apache2 (Скріншот 4).

Скріншот 4. Обираємо apache2.

Щоб вибрати пункти, натисніть клавішу пробілу, перейдіть до пункту Tab, а потім натисніть клавішу Enter (Скріншот 5). Тепер, після включення веб-сервера, phpMyAdmin буде доступний за адресою https://IP_адреса_сервера/phpmyadmin/

Не забудьте запустити служби:

Скріншот 5.

Внизу сторінки phpMyAdmin ви можете побачити повідомлення на червоному тлі:

Сховище конфігурації phpMyAdmin не повністю налаштовано, деякі розширені функції були відключені. Дізнайтеся причину.Або перейдіть на вкладку ‘Операції’ будь-якої бази даних, щоб налаштувати сховище в ній.

Текст повідомлення.

Якщо ви хочете лише їх увімкнути, то клацніть “Створити базу даних” (Скріншот 6).

Скріншот 6. Створення бази даних.

Після цього всі нові функції будуть активовані (Скріншот 7).

Скріншот 7. Активація нових функцій.

Як змінити URL-адресу phpMyAdmin. Як увімкнути та вимкнути phpMyAdmin

Для включення phpMyAdmin для використання з веб-сервером Apache використовуйте команду:

Щоб зміни набули чинності, перезавантажте веб-сервер.

Щоб вимкнути phpMyAdmin, використовуйте команду:

Щоб зміни набули чинності, перезавантажте веб-сервер.

У файлі /etc/phpmyadmin/apache.conf є важливий рядок:

Суть її в тому, що URL-адресою /phpmyadmin (наприклад, http://localhost/phpmyadmin) починає відповідати папка /usr/share/phpmyadmin. Тобто файли (скрипти) phpMyAdmin фізично розташовані в /usr/share/phpmyadmin, а не директорії веб-сервера (наприклад, /var/www/html/). Багато автоматичних сканерів «прихованих» файлів та папок веб-сервера та сайтів обов’язково перевіряють директорії «phpmyadmin», «pma» та інші подібні. Ви можете добре сховати ваш phpMyAdmin змінивши Alias.

Наприклад:

Тепер phpMyAdmin стане доступним за адресою http://localhost/lkjgler94345 – таке знайти непросто. При спробі входу до phpMyAdmin з порожнім паролем ви можете отримати помилку (Скріншот 8):

Login without a password is forbidden by configuration (see AllowNoPassword)

Суть у тому, що вхід без пароля заборонено конфігурацією phpMyAdmin.

Скріншот 8. Графічний інтерфейс входу.

Два способи виправлення:

1. Встановіть пароль MySQL

2. У конфігурації phpMyAdmin дозвольте вхід без пароля.

Щоб дозволити вхід без пароля до phpMyAdmin, відкрийте файл /etc/phpmyadmin/config.inc.php:

Знайдіть другий (їх там два) рядок

Розкоментуйте її, щоб вийшло (Скріншот 9):

Збережіть та закрийте файл config.inc.php.

Скріншот 9. Вхід без пароля.

Робота в phpMyAdmin інтуїтивно зрозуміла, тому складнощів не повинно виникнути. Але за замовчуванням в PHP встановлені дуже маленькі ліміти на розмір файлу, що обробляється, тому якщо ви імпортуєте або експортуєте велику базу даних, то можете зіткнутися з помилкою phpMyAdmin «Incorrect format parameter», про те, як її виправити, дивіться цю статтю. Якщо ви багато працюєте з phpMyAdmin, то ви можете налаштувати його під себе, в тому числі встановити стандартні настройки для імпорту та експорту.

Зверніть увагу, що phpMyAdmin – це прокладка, яка засобами PHP виконує дії з базами даних. Тому з’являються втрати швидкості при обробці дуже великих баз даних, а також можна зіткнутися з лімітами PHP, встановленими в його конфігураційному файлі. Імпорт та експорт великих баз даних у MySQL можна виконувати засобами самої MySQL – з СУБД поставляються допоміжні утиліти, які дозволяють виконувати різноманітні дії. Редагувати бази даних, вносити нові записи, видаляти записи та інше можна робити в командному рядку за допомогою SQL запитів.

Інші статті по темі
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.