Если вы хотите создать свой сервер баз данных или научиться управлять данными, установка MySQL — хороший старт.
В этой статье я расскажу, как максимально просто установить MySQL на операционную систему CentOS Stream 9. Следуйте пошаговым инструкциям, и у вас всё получится!
- Шаг 1: Обновите систему
- Шаг 2: Установите MySQL Server через пакетный менеджер
- Шаг 3: Запустите и настройте MySQL
- Шаг 4: Безопасная настройка MySQL
Что такое MySQL и зачем он нужен?
MySQL — это популярная система управления базами данных (СУБД). Она помогает хранить, изменять и получать информацию в ваших приложениях или сайтах.
MySQL широко используется в веб-разработке, для хранения данных и обеспечения работы сайтов.
Почему именно CentOS Stream 9?
CentOS Stream 9 — это популярная бесплатная операционная система на базе Linux, которая часто используется для серверов. Она славится стабильностью и безопасностью, поэтому идеально подходит для установки MySQL.
Шаг 1: Обновите систему
Перед установкой любых новых пакетов обновим систему, чтобы всё было свежим и исправным.
[root@waky ~]# dnf update -y
Это команда обновит все текущие пакеты. Подождите, пока процесс завершится.
Шаг 2: Установите MySQL Server через пакетный менеджер
CentOS Stream 9 уже содержит MySQL в дефолтном репозитории, используем пакетный менеджер для установки mysql-server:
[root@waky ~]# dnf install -y mysql-server
Последняя проверка окончания срока действия метаданных: 0:29:49 назад, Сб 29 ноя 2025 02:44:12.
Зависимости разрешены.
=====================================================================================================================================================================================================
Пакет Архитектура Версия Репозиторий Размер
=====================================================================================================================================================================================================
Установка:
mysql-server x86_64 8.0.43-1.el9 appstream 17 M
Установка зависимостей:
checkpolicy x86_64 3.6-1.el9 appstream 353 k
mariadb-connector-c-config noarch 3.2.6-1.el9 appstream 11 k
mecab x86_64 0.996-3.el9.4 appstream 356 k
mysql x86_64 8.0.43-1.el9 appstream 2.8 M
mysql-common x86_64 8.0.43-1.el9 appstream 72 k
mysql-errmsg x86_64 8.0.43-1.el9 appstream 506 k
mysql-selinux noarch 1.0.14-1.el9 appstream 36 k
perl-AutoLoader noarch 5.74-483.el9 appstream 21 k
perl-B x86_64 1.80-483.el9 appstream 180 k
perl-Carp noarch 1.50-460.el9 appstream 30 k
perl-Class-Struct noarch 0.66-483.el9 appstream 22 k
perl-Data-Dumper x86_64 2.174-462.el9 appstream 56 k
perl-Digest noarch 1.19-4.el9 appstream 26 k
perl-Digest-MD5 x86_64 2.58-4.el9 appstream 37 k
perl-Encode x86_64 4:3.08-462.el9 appstream 1.7 M
perl-Errno x86_64 1.30-483.el9 appstream 15 k
perl-Exporter noarch 5.74-461.el9 appstream 32 k
perl-Fcntl x86_64 1.13-483.el9 appstream 20 k
perl-File-Basename noarch 2.85-483.el9 appstream 17 k
perl-File-Path noarch 2.18-4.el9 appstream 36 k
perl-File-Temp noarch 1:0.231.100-4.el9 appstream 60 k
perl-File-stat noarch 1.09-483.el9 appstream 17 k
perl-FileHandle noarch 2.03-483.el9 appstream 15 k
perl-Getopt-Long noarch 1:2.52-4.el9 appstream 61 k
perl-Getopt-Std noarch 1.12-483.el9 appstream 15 k
perl-HTTP-Tiny noarch 0.076-462.el9 appstream 54 k
perl-IO x86_64 1.43-483.el9 appstream 88 k
perl-IO-Socket-IP noarch 0.41-5.el9 appstream 43 k
perl-IO-Socket-SSL noarch 2.073-2.el9 appstream 217 k
perl-IPC-Open3 noarch 1.21-483.el9 appstream 22 k
perl-MIME-Base64 x86_64 3.16-4.el9 appstream 31 k
perl-Mozilla-CA noarch 20200520-6.el9 appstream 13 k
perl-Net-SSLeay x86_64 1.94-3.el9 appstream 414 k
perl-POSIX x86_64 1.94-483.el9 appstream 96 k
perl-PathTools x86_64 3.78-461.el9 appstream 88 k
perl-Pod-Escapes noarch 1:1.07-460.el9 appstream 21 k
perl-Pod-Perldoc noarch 3.28.01-461.el9 appstream 87 k
perl-Pod-Simple noarch 1:3.42-4.el9 appstream 225 k
perl-Pod-Usage noarch 4:2.01-4.el9 appstream 41 k
perl-Scalar-List-Utils x86_64 4:1.56-462.el9 appstream 71 k
perl-SelectSaver noarch 1.02-483.el9 appstream 11 k
perl-Socket x86_64 4:2.031-4.el9 appstream 56 k
perl-Storable x86_64 1:3.21-460.el9 appstream 96 k
perl-Symbol noarch 1.08-483.el9 appstream 14 k
perl-Term-ANSIColor noarch 5.01-461.el9 appstream 49 k
perl-Term-Cap noarch 1.17-460.el9 appstream 23 k
perl-Text-ParseWords noarch 3.30-460.el9 appstream 17 k
perl-Text-Tabs+Wrap noarch 2013.0523-460.el9 appstream 24 k
perl-Time-Local noarch 2:1.300-7.el9 appstream 34 k
perl-URI noarch 5.09-3.el9 appstream 121 k
perl-base noarch 2.27-483.el9 appstream 16 k
perl-constant noarch 1.33-461.el9 appstream 24 k
perl-if noarch 0.60.800-483.el9 appstream 14 k
perl-interpreter x86_64 4:5.32.1-483.el9 appstream 70 k
perl-libnet noarch 3.13-4.el9 appstream 130 k
perl-libs x86_64 4:5.32.1-483.el9 appstream 2.2 M
perl-mro x86_64 1.23-483.el9 appstream 28 k
perl-overload noarch 1.31-483.el9 appstream 45 k
perl-overloading noarch 0.02-483.el9 appstream 12 k
perl-parent noarch 1:0.238-460.el9 appstream 15 k
perl-podlators noarch 1:4.14-460.el9 appstream 114 k
perl-subs noarch 1.03-483.el9 appstream 11 k
perl-vars noarch 1.05-483.el9 appstream 13 k
policycoreutils-python-utils noarch 3.6-3.el9 appstream 76 k
protobuf-lite x86_64 3.14.0-16.el9 appstream 233 k
python3-audit x86_64 3.1.5-7.el9 appstream 79 k
python3-distro noarch 1.5.0-7.el9 appstream 37 k
python3-libsemanage x86_64 3.6-5.el9 appstream 79 k
python3-policycoreutils noarch 3.6-3.el9 appstream 2.1 M
python3-setools x86_64 4.4.4-1.el9 baseos 605 k
python3-setuptools noarch 53.0.0-15.el9 baseos 936 k
Установка слабых зависимостей:
perl-NDBM_File x86_64 1.15-483.el9 appstream 22 k
Результат транзакции
=====================================================================================================================================================================================================
Установка 73 Пакета
...
Установлен:
checkpolicy-3.6-1.el9.x86_64 mariadb-connector-c-config-3.2.6-1.el9.noarch mecab-0.996-3.el9.4.x86_64 mysql-8.0.43-1.el9.x86_64
mysql-common-8.0.43-1.el9.x86_64 mysql-errmsg-8.0.43-1.el9.x86_64 mysql-selinux-1.0.14-1.el9.noarch mysql-server-8.0.43-1.el9.x86_64
perl-AutoLoader-5.74-483.el9.noarch perl-B-1.80-483.el9.x86_64 perl-Carp-1.50-460.el9.noarch perl-Class-Struct-0.66-483.el9.noarch
perl-Data-Dumper-2.174-462.el9.x86_64 perl-Digest-1.19-4.el9.noarch perl-Digest-MD5-2.58-4.el9.x86_64 perl-Encode-4:3.08-462.el9.x86_64
perl-Errno-1.30-483.el9.x86_64 perl-Exporter-5.74-461.el9.noarch perl-Fcntl-1.13-483.el9.x86_64 perl-File-Basename-2.85-483.el9.noarch
perl-File-Path-2.18-4.el9.noarch perl-File-Temp-1:0.231.100-4.el9.noarch perl-File-stat-1.09-483.el9.noarch perl-FileHandle-2.03-483.el9.noarch
perl-Getopt-Long-1:2.52-4.el9.noarch perl-Getopt-Std-1.12-483.el9.noarch perl-HTTP-Tiny-0.076-462.el9.noarch perl-IO-1.43-483.el9.x86_64
perl-IO-Socket-IP-0.41-5.el9.noarch perl-IO-Socket-SSL-2.073-2.el9.noarch perl-IPC-Open3-1.21-483.el9.noarch perl-MIME-Base64-3.16-4.el9.x86_64
perl-Mozilla-CA-20200520-6.el9.noarch perl-NDBM_File-1.15-483.el9.x86_64 perl-Net-SSLeay-1.94-3.el9.x86_64 perl-POSIX-1.94-483.el9.x86_64
perl-PathTools-3.78-461.el9.x86_64 perl-Pod-Escapes-1:1.07-460.el9.noarch perl-Pod-Perldoc-3.28.01-461.el9.noarch perl-Pod-Simple-1:3.42-4.el9.noarch
perl-Pod-Usage-4:2.01-4.el9.noarch perl-Scalar-List-Utils-4:1.56-462.el9.x86_64 perl-SelectSaver-1.02-483.el9.noarch perl-Socket-4:2.031-4.el9.x86_64
perl-Storable-1:3.21-460.el9.x86_64 perl-Symbol-1.08-483.el9.noarch perl-Term-ANSIColor-5.01-461.el9.noarch perl-Term-Cap-1.17-460.el9.noarch
perl-Text-ParseWords-3.30-460.el9.noarch perl-Text-Tabs+Wrap-2013.0523-460.el9.noarch perl-Time-Local-2:1.300-7.el9.noarch perl-URI-5.09-3.el9.noarch
perl-base-2.27-483.el9.noarch perl-constant-1.33-461.el9.noarch perl-if-0.60.800-483.el9.noarch perl-interpreter-4:5.32.1-483.el9.x86_64
perl-libnet-3.13-4.el9.noarch perl-libs-4:5.32.1-483.el9.x86_64 perl-mro-1.23-483.el9.x86_64 perl-overload-1.31-483.el9.noarch
perl-overloading-0.02-483.el9.noarch perl-parent-1:0.238-460.el9.noarch perl-podlators-1:4.14-460.el9.noarch perl-subs-1.03-483.el9.noarch
perl-vars-1.05-483.el9.noarch policycoreutils-python-utils-3.6-3.el9.noarch protobuf-lite-3.14.0-16.el9.x86_64 python3-audit-3.1.5-7.el9.x86_64
python3-distro-1.5.0-7.el9.noarch python3-libsemanage-3.6-5.el9.x86_64 python3-policycoreutils-3.6-3.el9.noarch python3-setools-4.4.4-1.el9.x86_64
python3-setuptools-53.0.0-15.el9.noarch
Выполнено!
[root@waky ~]#
Процесс установки может занять несколько минут.
Шаг 3: Запустите и настройте MySQL
Чтобы запустить сервер MySQL, выполните команду:
[root@waky ~]# systemctl start mysqld
[root@waky ~]#
Чтобы сервер автоматически запускался при загрузке системы, выполните:
[root@waky ~]# systemctl enable mysqld
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service.
[root@waky ~]#
Проверим статус сервиса:
[root@waky ~]# systemctl status mysqld
● mysqld.service - MySQL 8.0 database server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)
Active: active (running) since Sat 2025-11-29 03:25:12 MSK; 1min 1s ago
Main PID: 3327 (mysqld)
Status: "Server is operational"
Tasks: 37 (limit: 10652)
Memory: 451.8M (peak: 468.9M)
CPU: 6.498s
CGroup: /system.slice/mysqld.service
└─3327 /usr/libexec/mysqld --basedir=/usr
ноя 29 03:24:49 waky.ru systemd[1]: Starting MySQL 8.0 database server...
ноя 29 03:24:50 waky.ru mysql-prepare-db-dir[3255]: Initializing MySQL database
ноя 29 03:25:12 waky.ru systemd[1]: Started MySQL 8.0 database server.
[root@waky ~]#
Если всё правильно, статус должен быть «active (running)».
Шаг 4: Безопасная настройка MySQL
Для защиты базы данных запустите встроенную утилиту настройки безопасности mysql_secure_installation:
В процессе вас попросят задать пароль для пользователя root, удалить тестовую базу данных и отключить удалённый доступ для root — всё это повысит безопасность вашего сервера.
Следуйте инструкциям на экране и отвечайте исходя из ваших потребностей. Если не уверены что выбрать, в большинстве случаев подойдет следующий порядок ответов: n, устанавливаем пароль для root, y, y, y, y.
[root@waky ~]# mysql_secure_installation
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: n
Please set the password for root here.
New password:
Re-enter new password:
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- Dropping test database...
Success.
- Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.
All done!
[root@waky ~]#
Зайдем в консоль MySQL, как пользователь(-u) root, используя пароль (-p):
[root@waky ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.43 Source distribution
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> exit
Bye
[root@waky ~]#
Теперь у вас установлен и работает MySQL сервер на CentOS Stream 9. Вы можете подключаться к базе данных, создавать таблицы и управлять данными.
Советы по дальнейшему использованию:
- Создавайте новых пользователей для доступа к базе без использования root.
- Регулярно обновляйте систему и MySQL.
- Делайте бэкапы данных.
Заключение
Установка MySQL на CentOS Stream 9 — это легко и быстро, если следовать шагам инструкции. Надеюсь, эта статья помогла вам без проблем преодолеть весь процесс установки.