Справочник

Как установить MySQL на Ubuntu

MySQL ставится из пакетов Ubuntu одной командой и сразу запускается. Пароль для root задавать не нужно: администратор входит командой sudo mysql, а сайту заводят отдельного пользователя с паролем и правами только на его базу.

≈ 5 мин чтения
Содержание 9

Что сделать прямо сейчас

Команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне.

  1. Обновите список пакетов: sudo apt update.
  2. Установите MySQL: sudo apt install mysql-server. Если система спросит пароль, введите пароль своего пользователя на сервере. Символы при вводе не видны — так и должно быть: наберите пароль и нажмите Enter. На вопрос Do you want to continue? [Y/n] нажмите Y и Enter.
  3. Проверьте, что база работает: sudo systemctl status mysql. В ответе должно быть active (running). Выйти из ответа — клавиша Q.
  4. Войдите в MySQL: sudo mysql. Строка ввода сменится на mysql>.
  5. Создайте базу и пользователя для сайта — команды ниже.
  6. Выйдите командой exit.

Какая версия поставится

UbuntuВерсия MySQLПакет
24.04MySQL 8.0mysql-server 8.0.46
26.04MySQL 8.4mysql-server 8.4.11

Номера версий взяты со страниц пакетов Ubuntu на 14 октября 2026 года: с обновлениями они растут. Какая Ubuntu стоит у вас — как узнать. Версию самого MySQL покажет команда mysql --version.

MySQL запускается сразу после установки и дальше стартует сам при каждой загрузке сервера. Выбирайте что-то одно: MySQL или MariaDB — Как установить MariaDB на Ubuntu.

Как войти в MySQL

sudo mysql

Пароль базы не нужен: в Ubuntu пользователь root в MySQL входит через auth_socket. База проверяет не пароль, а то, что команда запущена через sudo. Подробнее и почему root не стоит переводить на вход по паролю — в разборе ошибки 1698.

Каждая команда в MySQL заканчивается точкой с запятой. Выйти обратно — exit.

База и пользователь для сайта

Сайту sudo недоступен, поэтому ему нужен свой пользователь с паролем. Войдите через sudo mysql и выполните три команды. Вместо base подставьте имя базы, вместо ivan — имя пользователя, вместо новый-пароль — свой пароль:

CREATE DATABASE base CHARACTER SET utf8mb4;
CREATE USER 'ivan'@'localhost' IDENTIFIED BY 'новый-пароль';
GRANT ALL PRIVILEGES ON base.* TO 'ivan'@'localhost';

localhost значит, что пользователь подключается с самого сервера — так и нужно, когда сайт и база на одном VPS. Если MySQL ответил ошибкой 1819, пароль слишком простой — разбор.

Выйдите командой exit и проверьте вход нового пользователя:

mysql -u ivan -p base

MySQL спросит пароль — введите тот, что задали в CREATE USER. Строка mysql> значит, что вход работает. Эти имя базы, пользователя и пароль впишите в настройки сайта, адрес базы — localhost.

Где настройки и журнал

ЧтоГде
все файлы настроек/etc/mysql/
настройки сервера, в том числе bind-address/etc/mysql/mysql.conf.d/mysqld.cnf
журнал службыsudo journalctl -u mysql

После правки настроек перезапустите MySQL: sudo systemctl restart mysql. Если служба не поднялась, причина будет в журнале: sudo journalctl -u mysql.

Подключения с другого компьютера

В Ubuntu 24.04 в файле mysqld.cnf из пакета стоит строка bind-address = 127.0.0.1: база принимает подключения только с самого сервера. Для сайта на том же VPS этого достаточно. Как подключиться к базе со своего компьютера через SSH-туннель, не открывая порт, — Порт 3306.

Не открывайте порт 3306 для всех командой sudo ufw allow 3306: подбирать пароли к базе сможет кто угодно.

Ошибки и как их исправить

ОтветЧто случилось
ERROR 1698 (28000): Access denied for user 'root'@'localhost'вход root без sudo
ERROR 1045 (28000): Access deniedневерный пароль или имя пользователя
ERROR 2002MySQL не запущен или не тот сокет
ERROR 2003нет подключения по сети
ERROR 1819пароль не прошёл проверку
Unable to locate package mysql-serverapt не нашёл пакет

Все разборы — в разделе Ошибки MySQL и MariaDB.

Источники

Сверено 14 октября 2026 года.

Что почитать дальше