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

MySQL — самая популярная система управления реляционными базами данных с открытым исходным кодом. Он быстрый, простой в использовании, масштабируемый и неотъемлемая часть популярных стеков LAMP и LEMP .

В этом руководстве объясняется, как установить и защитить MySQL в Ubuntu 20.04.

Подготовка

Убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .

Установка MySQL в Ubuntu

На момент написания этой статьи последней версией MySQL, доступной в репозиториях Ubuntu, была версия MySQL 8.0. Для его установки выполните следующие команды:

sudo apt updatesudo apt install mysql-server

После завершения установки служба MySQL запустится автоматически. Чтобы убедиться, что сервер MySQL работает, введите:

sudo systemctl status mysql

Выходные данные должны показать, что служба включена и работает:

● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-04-28 20:59:52 UTC; 10min ago
   Main PID: 8617 (mysqld)
     Status: "Server is operational"
     ...

Обеспечение безопасности MySQL

Установка MySQL поставляется со сценарием mysql_secure_installation который позволяет легко повысить безопасность сервера базы данных.

Вызвать скрипт без аргументов:

sudo mysql_secure_installation

Вам будет предложено настроить VALIDATE PASSWORD PLUGIN который используется для проверки надежности паролей пользователей 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

Существует три уровня политики проверки пароля: низкий, средний и надежный. Нажмите 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: 

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

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

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

Войти как root

Для взаимодействия с сервером MySQL из командной строки используйте клиентскую утилиту MySQL, которая устанавливается как зависимость пакета сервера MySQL.

В MySQL 8.0 пользователь root по умолчанию аутентифицируется плагином auth_socket .

Плагин auth_socket аутентифицирует пользователей, которые подключаются с localhost через файл сокета Unix. Это означает, что вы не можете пройти аутентификацию как root, указав пароль.

Чтобы войти на сервер MySQL как пользователь root, введите:

sudo mysql

Вам будет представлена оболочка MySQL, как показано ниже:

Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 12
Server version: 8.0.19-0ubuntu5 (Ubuntu)

Copyright (c) 2000, 2020, 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.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql>

Если вы хотите войти на свой сервер MySQL как root с помощью внешней программы, такой как phpMyAdmin, у вас есть два варианта.

Первый — изменить метод аутентификации с auth_socket на mysql_native_password . Вы можете сделать это, выполнив следующую команду:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'very_strong_password';FLUSH PRIVILEGES;

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

GRANT ALL PRIVILEGES ON *.* TO 'administrator'@'localhost' IDENTIFIED BY 'very_strong_password';

Выводы

Мы показали вам, как установить MySQL в Ubuntu 20.04. Теперь, когда ваш сервер базы данных запущен и работает, следующим шагом может быть изучение того, как управлять учетными записями пользователей и базами данных MySQL .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Этот пост является частью серии Как установить LAMP Stack в Ubuntu 20.04. Другие сообщения из этой серии:

Оставьте комментарий