Thank you for reading this post, don't forget to subscribe!
1: Установка MySQL
В системе CentOS 8 пакеты MySQL 8 можно найти в стандартном репозитории.
Чтобы установить пакет mysql-server и ряд зависимостей, введите следующую команду:
sudo dnf install mysql-server
По запросу нажмите y и Enter, чтобы продолжить.
. . .
Install 49 Packages
Total download size: 46 M
Installed size: 252 M
Is this ok [y/N]: y
Система MySQL теперь установлена на ваш сервер, но пока еще она не работает. Установленный вами пакет настраивает MySQL в качестве сервиса systemd, который называется mysqld.service. Вам нужно запустить этот сервис с помощью этой команды:
sudo systemctl start mysqld.service
Чтобы убедиться, что сервис работает правильно, запустите следующую команду. Обратите внимание: большинство команд systemctl, в том числе start и status, не требуют включать .service в имя файла.
sudo systemctl status mysqld
Если сервис MySQL успешно запустился, в выводе вы увидите:
mysqld.service - MySQL 8.0 database server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-03-12 14:07:41 UTC; 1min 7s ago
Main PID: 15723 (mysqld)
Status: "Server is operational"
Tasks: 38 (limit: 5056)
Memory: 474.2M
CGroup: /system.slice/mysqld.service
└─15723 /usr/libexec/mysqld --basedir=/usr
Mar 12 14:07:32 cent-mysql-3 systemd[1]: Starting MySQL 8.0 database server...
Mar 12 14:07:32 cent-mysql-3 mysql-prepare-db-dir[15639]: Initializing MySQL database
Mar 12 14:07:41 cent-mysql-3 systemd[1]: Started MySQL 8.0 database server.
Затем добавьте MySQL в автозагрузку, чтобы сервис запускался вместе с вашим сервером.
sudo systemctl enable mysqld
Примечание: Если в будущем вы захотите удалить MySQL из автозагрузки, вы можете использовать команду:
sudo systemctl disable mysqld
Итак, теперь MySQL запущен и работает на вашем сервере. Теперь давайте повысим безопасность СУБД.
2: Защита MySQL
MySQL предлагает встроенный сценарий безопасности, который изменит некоторые параметры по умолчанию и заблокирует удалённый root-логин.
Запустите этот сценарий:
sudo mysql_secure_installation
После этого сценарий задаст вам ряд вопросов. Сначала он предложит настроить Validate Password Plugin, который проверяет надежность вашего пароля.
Если вы решите настроить Validate Password Plugin, сценарий предложит выбрать уровень валидации пароля. Наивысший уровень можно включить, нажав 2; при этом ваш пароль должен будет включать минимум 8 символов, среди которых должны быть буквы в верхнем и нижнем регистре, цифры и специальные символы.
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
После Validate Password Plugin сценарий предложит выбрать root-пароль MySQL. Введите надежный пароль и подтвердите его:
Please set the password for root here.
New password:
Re-enter new password:
Если вы включили Validate Password Plugin, сценарий оценит сложность вашего пароля согласно выбранному уровню. После этого сценарий уточнит, хотите ли вы оставить этот пароль или выбрать новый. Чтобы продолжить работу, не меняя пароль, нажмите у:
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
В остальных случаях вы можете просто нажать Y и Enter, чтобы принять данные по умолчанию. Сценарий удалит анонимных пользователей и тестовую базу данных, отключит удаленный root логин и обновит правила, чтобы MySQL сразу же работал с новыми настройками.
Теперь ваш экземпляр MySQL использует безопасные параметры. Осталось убедиться, что MySQL работает должным образом.
3: Тестирование MySQL
Чтобы проверить работу вашей СУБД, попробуйте подключиться к MySQL с помощью инструмента mysqladmin. Это клиент, предназначенный для запуска команд администрирования.
Чтобы подключиться к MySQL как root (-u root), ввести пароль (-p) и запросить версию, введите команду:
mysqladmin -u root -p version
Эта команда вернет:
mysqladmin Ver 8.0.17 for Linux on x86_64 (Source distribution)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 8.0.17
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 2 hours 52 min 37 sec
Threads: 2 Questions: 20 Slow queries: 0 Opens: 131 Flush tables: 3 Open tables: 48 Queries per second avg: 0.001
Если команда вывела на экран такой результат, значит, установка MySQL прошла успешно.
Чтобы подключиться к MySQL и приступить к работе с данными, введите:
mysql -u root -p
Как и предыдущая команда mysqladmin, эта команда включает флаг –u, который позволяет указать пользователя, с помощью которого вы хотите подключиться (в данном случае это root), и флаг –p, который запрашивает пароль этого пользователя.
Введите свой пароль, после чего ваша командная строка изменится:
mysql>