Установка MySQL на ОС Linux

ОС Linux включает в себя достаточно много различных дистрибутивов. Дистрибутив - это операционная система, основанная на ядре Linux и включающая в себя различные компоненты (утилиты, графические интерфейсы, библиотеки и другие программные пакеты).

Ubuntu представляет собой один из наиболее популярных дистрибутивов Linux. Поэтому установка MySQL будет рассмотрена на примере его последней стабильной версии к данному моменту - 22.04. Если вы используете другие дистрибутивы, то для установки MySQL рекомендую обратиться к документации.

Установку будем проводить через специальный пакетный менеджер APT. Вначале давайте выполним команду для обновления пакетного менеджера:

terminalsudo apt update

Далее загружаем пакет mysql-server:

terminalsudo apt install mysql-server

Теперь запускаем сервер mysql с помощью следующей команды:

terminalsudo systemctl start mysql.service

Затем приступим к настройке конфигурации MySQL. Давайте сначала запустим безопасную установку:

terminalsudo mysql_secure_installation

В терминале появятся сообщения, в которых вас попросят внести изменения в параметры безопасности MySQL. В первом сообщении будет предложено настроить плагин проверки надежности пароля для входа в БД:

noteSecuring the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: Y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary    file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
2

Далее будет необходимо установить пароль для пользователя root MySQL. Введите и подтвердите безопасный пароль:

notePlease set the password for root here.

New password:

Re-enter new password:

Если вы использовали плагин проверки пароля, то появится сообщение о надежности вашего нового пароля. Затем появится вопрос, хотите ли вы продолжить работу с этим паролем или хотите ввести новый:

noteEstimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

Для безопасной работы с БД рекомендуется создать нового пользователя. Вначале давайте зайдем в среду MySQL:

terminalsudo mysql

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

terminalCREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';

Например, давайте создадим пользователя admin, который будет входить в БД по паролю '123456':

terminalCREATE USER 'admin'@'localhost' IDENTIFIED WITH authentication_plugin BY '123456';

После создания нового пользователя вы можете предоставить ему привилегии (разрешения) для работы с данными. Общий синтаксис назначения привилегий выглядит так:

terminalGRANT PRIVILEGE ON database.table TO 'username'@'host';

Значение PRIVILEGE определяет, какие действия пользователю разрешено выполнять с указанной базой данных и таблицей. Вы можете предоставить несколько привилегий, разделив их запятой:

terminalGRANT CREATE, ALTER, DROP, INSERT, UPDATE, INDEX, DELETE, SELECT, REFERENCES, RELOAD on *.* TO 'admin'@'localhost' WITH GRANT OPTION;

Также можно назначить пользователю все привилегии сразу:

terminalGRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;

После этого прописываем команду FLUSH PRIVILEGES. Она нужна для освобождения памяти сервера:

terminalFLUSH PRIVILEGES;

Затем выходим из среды MySQL:

terminalexit

В следующий раз зайти в БД MySQL можно с помощью следующей команды в терминале:

terminalmysql -u admin -p

Давайте проверим, работает ли сервер MySQL. Для этого пропишем следующую команду:

terminalsystemctl status mysql.service

После выполнения команды должно появится следующее сообщение:

note● mysql.service - MySQL Community Server
    Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
    Active: active (running) since Mon 2025-12-31 16:04:39 UTC; 2h 36min ago
  Process: 2593 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
  Main PID: 2601 (mysqld)
    Status: "Server is operational"
    Tasks: 38 (limit: 1119)
    Memory: 354.3M
    CPU: 19.944s
    CGroup: /system.slice/mysql.service
        └─2601 /usr/sbin/mysqld

Если MySQL не запустилась, то нужно выполнить следующую команду:

terminalsudo systemctl start mysql
Задание 1

Установите MySQL. Убедитесь в терминале, что MySQL активен.