MySQL — как старый добрый гаечный ключ: работает десятилетиями, иногда ржавеет, но всё ещё держит половину интернета.

В Ubuntu 20.04 он ставится за пару команд, но по умолчанию там есть дырки, через которые можно впустить полмира в твои базы. Так что ставим, чиним дыры и настраиваем root так, чтобы потом не удивляться, почему phpMyAdmin тебя посылает.

1. Установка

Открываем терминал и просто:

sudo apt update
sudo apt install mysql-server

Сервис стартует сам. Проверяем:

sudo systemctl status mysql

Если видишь «active (running)» — живём.

2. Минимальная защита

У MySQL есть полезный скрипт, который за тебя почистит лишнее:

sudo mysql_secure_installation

Что он сделает:

  • Спросит про плагин проверки пароля (можно включить, но тогда забудь про свои «qwerty123»).
  • Поставит пароль root (если надо).
  • Выкинет анонимного пользователя.
  • Запретит root логиниться с других машин.
  • Удалит тестовую базу.
  • Перегрузит права.

Если не мазохист, на все вопросы отвечай y.

3. Логин под root

В MySQL 8.0 root по умолчанию заходит через auth_socket, а не по паролю. Это значит, что:

sudo mysql

— и ты внутри.

Но если тебе надо логиниться через GUI вроде phpMyAdmin, то есть два пути:

Вариант 1: перевести root на mysql_native_password

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'very_strong_password';
FLUSH PRIVILEGES;

Теперь сможешь логиниться с паролем.

Вариант 2 (рекомендуемый): создать отдельного админа

GRANT ALL PRIVILEGES ON *.* TO 'administrator'@'localhost' IDENTIFIED BY 'very_strong_password';

Так root останется «системным», а админ будет для твоих утилит.

Вывод

Установка MySQL — это 5 минут. Настройка — ещё 5. А потом ты либо спишь спокойно, либо неделю разгребаешь последствия, когда твой «тестовый» сервер внезапно стал общедоступным и его уже облюбовали спамеры.