MySQL — одна из самых популярных баз данных с открытым исходным кодом. Известный своей производительностью, надежностью и масштабируемостью, он используется везде, от небольших систем веб-хостинга до крупных корпоративных приложений. Мы объясним вам каждый шаг процесса установки MySQL в Ubuntu 20.04, чтобы вы могли настроить надежную систему управления базами данных.
Каковы требования к MySQL для Ubuntu 20.04?
В целом системные требования для MySQL в Ubuntu 20.04 относительно низкие, и их можно выполнить на большинстве современных настольных или серверных систем. Важно отметить, что требования могут различаться в зависимости от предполагаемого использования и размера базы данных. Например, если вы используете интенсивное приложение, которое использует большие базы данных или сложные запросы, для обеспечения лучшей производительности требуются более высокие требования к ОЗУ и процессору. Большая емкость жесткого диска подходит для будущего роста и дополнительных баз данных.
Конфигурация сети и настройки брандмауэра также должны быть тщательно проверены, чтобы обеспечить бесперебойную связь между сервером MySQL и клиентами. Сервер MySQL должен иметь статический IP-адрес, чтобы избежать проблем с подключением.
MySQL предъявляет следующие минимальные требования к вашему аппаратному и программному обеспечению:
- Процессор (ЦП) : архитектура x86-64, минимум 1 ГГц (двухъядерный)
- Память (ОЗУ) : не менее 1 ГБ
- ОС : Ubuntu 20.04, пользователь sudo с привилегиями root
- Брандмауэр : порт MySQL 3306 открыт
- Место на жестком диске : не менее 500 МБ
- Интернет-соединение : для загрузки пакетов и подключения к серверу MySQL.
Пошаговое руководство: Настройка MySQL в Ubuntu 20.04
Вы можете установить MySQL на Ubuntu 20.04, используя систему управления пакетами APT (Advanced Package Tool). После установки вы должны настроить и настроить MySQL, прежде чем ее можно будет использовать в производственной среде. В этом контексте, среди прочего, вам нужно установить пароль root и доступ для внешних клиентов. В нашем уроке мы покажем вам шаг за шагом, как действовать дальше.
Шаг 1. Обновите индекс пакета
На первом этапе желательно обновить список пакетов. Для этого выполните следующую команду:
$ sudo apt update
Шаг 2: Установите сервер MySQL
Теперь установите пакет сервера MySQL с помощью APT :
$ sudo apt install mysql-server
Чтобы убедиться, что сервер действительно работает, вы можете запустить его вручную с помощью команды systemctl :
$ sudo systemctl start mysql.service
Шаг 3: Настройте MySQL
После установки MySQL еще не соответствует рекомендуемым стандартам безопасности. Чтобы это исправить, MySQL предоставляет скрипт, меняющий настройки защиты сервера. Например, он позаботится о настройке пароля root, удалении анонимных пользователей и ограничении удаленного доступа.
Однако для правильной работы скрипта необходимо принять определенные меры предосторожности. Потому что приложение хочет изменить пароль учетной записи root, которая по умолчанию отключена в Ubuntu. Чтобы обойти ошибку, вам необходимо настроить метод аутентификации пользователя root.
Запустите командную строку MySQL:
$ sudo mysql
Используйте директиву ALTER USER, чтобы установить пароль для root:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Снова закройте приглашение MySQL:
mysql> exit
Запустите скрипт безопасности:
$ sudo mysql_secure_installation
Для аутентификации в качестве пользователя root введите:
$ mysql -u root -p
После завершения скрипта вы можете изменить метод аутентификации по умолчанию обратно:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
Это позволит вам снова подключиться с помощью команды sudo mysql.
Шаг 4: Создайте пользователя MySQL
Установка MySQL создает пользователя root, который имеет все привилегии на сервере MySQL и имеет полный контроль над любой базой данных, таблицами и пользователями. Поэтому для повышения безопасности вам следует создать пользователя с ограниченными правами.
Для этого перейдите в командную строку MySQL:
$ sudo mysql
Если в качестве метода аутентификации задан пароль, используйте следующее выражение:
$ mysql -u root -p
Теперь создайте нового пользователя для MySQL:
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
Введите свое имя пользователя вместо «имя пользователя» и имя вашего хоста вместо «хост». Если вы используете Ubuntu локально, напишите localhost. Выражение «WITH authentication_plugin» является необязательным. Плагин auth_socket имеет строгие настройки безопасности и не требует пароля для входа в систему.
Если не указано иное, MySQL использует плагин caching_sha2_password для аутентификации. Однако некоторые версии PHP несовместимы с ним. Вместо этого вы можете использовать старый, но хорошо зарекомендовавший себя плагин mysql_native_password:
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
Или вы можете использовать функцию «ВОЗРАСТ» для существующего пользователя:
mysql> ALTER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
Шаг 5: Назначьте права¶
Теперь определите, какими привилегиями должен обладать новый пользователь. Общий синтаксис для этого:
mysql> GRANT PRIVILEGE ON database.table TO 'username'@'host';
Несколько привилегий разделяются запятой. Чтобы применить права глобально, замените каждую «database.table» звездочкой («*»).
В следующем примере мы даем пользователю права создавать (CREATE), изменять (ALTER), удалять (DROP) базы данных и вставлять (INSERT), выбирать (SELECT), обновлять (UPDATE) и удалять (DELETE).
С помощью «WITH GRANT OPTION» пользователь также может предоставлять свои права другим.
Теперь сбросьте кеш с помощью «FLUSH PRIVILEGES»:
mysql> FLUSH PRIVILEGES;
После этого вы можете закрыть приглашение MySQL:
mysql> exit
Войдите под своим новым именем пользователя:
$ mysql -u username -p
Шаг 6: протестируйте MySQL¶
Убедитесь, что MySQL работает правильно, например. B. с системным менеджером systemd :
$ systemctl status mysql.service
Кроме того, вы можете подключиться к базе данных MySQL. Следующая команда войдет в MySQL и отобразит версию сервера:
$ sudo mysqladmin -p -u username version








