Установка MySQL на ОС Linux
ОС Linux включает в себя достаточно много различных дистрибутивов. Дистрибутив - это операционная система, основанная на ядре Linux и включающая в себя различные компоненты (утилиты, графические интерфейсы, библиотеки и другие программные пакеты).
Ubuntu представляет собой один из наиболее
популярных дистрибутивов Linux. Поэтому установка
MySQL будет рассмотрена на примере его
последней стабильной версии к данному моменту -
22.04
. Если вы используете другие дистрибутивы, то для установки MySQL рекомендую обратиться к
документации.
Установку будем проводить через специальный пакетный менеджер APT. Вначале давайте выполним команду для обновления пакетного менеджера:
sudo apt update
Далее загружаем пакет mysql-server
:
sudo apt install mysql-server
Теперь запускаем сервер mysql
с помощью следующей
команды:
sudo systemctl start mysql.service
Затем приступим к настройке конфигурации MySQL. Давайте сначала запустим безопасную установку:
sudo mysql_secure_installation
В терминале появятся сообщения, в которых вас попросят внести изменения в параметры безопасности MySQL. В первом сообщении будет предложено настроить плагин проверки надежности пароля для входа в БД:
Securing 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. Введите и подтвердите безопасный пароль:
Please set the password for root here.
New password:
Re-enter new password:
Если вы использовали плагин проверки пароля, то появится сообщение о надежности вашего нового пароля. Затем появится вопрос, хотите ли вы продолжить работу с этим паролем или хотите ввести новый:
Estimated 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:
sudo mysql
Далее создаем пользователя, который будет идентифицироваться по паролю:
CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
Например, давайте создадим пользователя
admin
, который будет входить
в БД по паролю '123456'
:
CREATE USER 'admin'@'localhost' IDENTIFIED WITH authentication_plugin BY '123456';
После создания нового пользователя вы можете предоставить ему привилегии (разрешения) для работы с данными. Общий синтаксис назначения привилегий выглядит так:
GRANT PRIVILEGE ON database.table TO 'username'@'host';
Значение PRIVILEGE
определяет, какие действия пользователю
разрешено выполнять с указанной базой данных и
таблицей. Вы можете предоставить несколько привилегий,
разделив их запятой:
GRANT CREATE, ALTER, DROP, INSERT, UPDATE, INDEX, DELETE, SELECT, REFERENCES, RELOAD on *.* TO 'admin'@'localhost' WITH GRANT OPTION;
Также можно назначить пользователю все привилегии сразу:
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
После этого прописываем команду FLUSH PRIVILEGES
.
Она нужна для освобождения памяти сервера:
FLUSH PRIVILEGES;
Затем выходим из среды MySQL:
exit
В следующий раз зайти в БД MySQL можно с помощью следующей команды в терминале:
mysql -u admin -p
Давайте проверим, работает ли сервер MySQL. Для этого пропишем следующую команду:
systemctl status mysql.service
После выполнения команды должно появится следующее сообщение:
● 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 не запустилась, то нужно выполнить следующую команду:
sudo systemctl start mysql
Установите MySQL. Убедитесь в терминале, что MySQL активен.