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

MySQL — система управління базами даних.

Після встановлення Apache:


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

sudo apt install mysql-server -y

Якщо MySQL встановлюється для для локальної розробки

Щоб мати можливість заходити в MySQL через команду sudo mysql без введення root-пароля (корисно для локальної розробки), необхідно переконатися, що MySQL налаштований на використання плагіна аутентифікації auth_socket для користувача root. Ось кроки для налаштування:


1. Увійдіть у MySQL

Запустіть MySQL під користувачем root за допомогою sudo:

sudo mysql

2. Перевірте плагін аутентифікації для root

Виконайте SQL-запит, щоб перевірити, який плагін використовується для аутентифікації:

SELECT user, plugin, host FROM mysql.user WHERE user = 'root';

У стовпці plugin ви можете побачити поточний плагін. Найпоширеніші варіанти:

  • auth_socket: дозволяє входити без пароля через sudo mysql.

  • mysql_native_password: вимагає пароль для доступу.


3. Змініть плагін на auth_socket (якщо потрібно)

Якщо auth_socket ще не використовується, змініть плагін:

ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
FLUSH PRIVILEGES;

4. Вийдіть із MySQL

EXIT;

5. Перевірте доступ

Спробуйте підключитися до MySQL:

sudo mysql

Якщо все налаштовано правильно, ви повинні увійти без запиту пароля.


6. Повернення до пароля (якщо необхідно в майбутньому)

Якщо вам знадобиться змінити плагін назад на парольну аутентифікацію, виконайте таку команду:

sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'ваш_пароль';
FLUSH PRIVILEGES;

Після цього для доступу до MySQL від імені root знову буде потрібен пароль:

mysql -u root -p

Примітка

Метод auth_socket зручний для локальної розробки, але не рекомендується для серверів у продакшні, оскільки він спрощує доступ до MySQL для користувачів із правами sudo на сервері.

Якщо MySQL встановлюється на сервері

Захист і налаштування MySQL:

Після встановлення виконайте команду для базового налаштування безпеки:

sudo mysql_secure_installation
  • Вас запитають про налаштування root-пароля, видалення анонімних користувачів, заборону віддаленого доступу root тощо.

Перевірка статусу MySQL:

sudo systemctl status mysql

Запуск і автоматичне завантаження MySQL:

sudo systemctl start mysql
sudo systemctl enable mysql

Перевірка роботи MySQL

Увійдіть у MySQL для тестування:

sudo mysql -u root -p

Виконайте просту команду:

SHOW DATABASES;

Last updated