- Как установить и настроить MySQL на Ubuntu 20.04 LTS
- Требование к установки
- Установка MySQL на Ubuntu 20.04
- Настройка MySQL в Ubuntu 20.04 LTS
- Вход в MySQL
- Создайте альтернативного пользователя MySQL Root
- Создание базы данных в MySQL
- Создание таблицы в MySQL
- Заключение
- Как установить и настроить MySQL в Ubuntu 20.04
- Создание облачного сервера
- Подготовка системы
- Подключение по SSH
- Настройка брандмауэра в Ubuntu
- Установка MySQL
- Начальная настройка MySQL
- Настройка аутентификации и управление пользователями
- Аутентификация по паролю
- Дополнительный пользователь (опционально)
- Тестирование MySQL
- Удаление MySQL
- Зарегистрируйтесь в панели управления
Как установить и настроить MySQL на Ubuntu 20.04 LTS
MySQL — это одна из наиболее часто используемых систем управления реляционными базами данных с открытым исходным кодом. Это третий компонент стеков LAMP и LEMP, используемых для разработки и развертывания динамических веб-приложений и веб-сайтов. MySQL разрабатывается и поддерживается компанией Oracle.
Эта статья подробно покажет как производится установка и настройка MySQL на Ubuntu 20.04. А так же покажет вам, как создать образец базы данных и таблицы с некоторыми записями
Требование к установки
Вам потребуется пользователь с привилегиями sudo для установки MySQL на Ubuntu 20.04.
Установка MySQL на Ubuntu 20.04
MySQL доступен в репозитории пакетов Ubuntu по умолчанию. Прежде всего, обновите репозиторий пакетов Ubuntu следующей командой.
Теперь выполните приведенную ниже команду, чтобы установить MySQL на Ubuntu 20.04.
Введите «Y», чтобы продолжить при появлении запроса.
После успешного завершения процесса установки выполните следующую команду, чтобы проверить состояние службы MySQL.
Нажмите Q, чтобы вернуться в командную строку.
Примечание: если окажется, что Служба MySQL не активна, попробуйте запустить ее с помощью команды:
$ sudo systemctl start mysql-server
Настройка MySQL в Ubuntu 20.04 LTS
Существует скрипт с именем mysql_secure_installation, который поставляется как часть установки MySQL. Вам нужно будет запустить этот скрипт для защиты вашей установки 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: 1
Please set the password for root here.
New password:
Re-enter new password:
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
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!
Вход в MySQL
После настройки MySQL вы можете войти в систему с учетной записью root. Делается это следующим образом.
Если вы видите подсказку mysql>>, то вы на правильном пути.
Давайте отправим наш первый запрос, чтобы показать доступные базы данных.
Создайте альтернативного пользователя MySQL Root
Вместо входа в систему в качестве корневого (root) пользователя MySQL. Можно создать альтернативного пользователя, а затем предоставить разрешения на использование базы данных. Делается это следующим образом:
Внимание: Измените mysqluser и mySQLp@ssw0rd на свои собственные значения.
Создать пользователя MySQL:
mysql> CREATE USER mysqluser@localhost IDENTIFIED by ‘mySQLp@ssw0rd’;
Предоставьте права на все базы данных новому пользователю:
mysql> GRANT ALL PRIVILEGES ON *.* to mysqluser@localhost;
Если вы хотите предоставить права определенному пользователю в определенной базе данных, выполните следующую команду:
mysql> GRANT ALL PRIVILEGES ON continents.* TO ‘mysqluser’@’localhost’;
Перезагрузите таблицы привилегий, чтобы применить изменения:
После этого выйдите из MySQL:
Теперь войдите в систему как вновь созданный пользователь:
Создание базы данных в MySQL
Выполните приведенный ниже запрос, чтобы создать новую базу данных в MySQL.
mysql> CREATE DATABASE continents;
Чтобы выбрать вновь созданную базу данных, выполните следующий запрос.
Создание таблицы в MySQL
Давайте создадим простую таблицу и заполним ее следующим образом.
mysql> CREATE TABLE europe (country varchar (25), abbreviation char (2) );
Добавление записей в таблицу:
mysql> INSERT INTO europe VALUES (‘Germany’, ‘DE’), (‘Italy’, ‘IT’);
Чтобы просмотреть записи в таблице europe, выполните команду:
Чтобы удалить таблицу Европа, выполните:
Чтобы удалить базу данных континентов, введите команду:
Заключение
В этой статье мы рассмотрели, как установить и настроить MySQL на Ubuntu 20.04. Мы также показали вам, как создать альтернативного пользователя MySQL root. Далее мы подробно рассказали, как создать базу данных с таблицей и образцами записей.
Как установить и настроить MySQL в Ubuntu 20.04
MySQL — это реляционная СУБД, которая использует язык запросов SQL. В инструкции мы рассмотрим, как запустить MySQL на Ubuntu 20.04. Для этого нам потребуется облачный сервер. Создание облачного сервера Создать облачный сервер с операционной системой Ubuntu 20.04 можно в Облачной платформе Selectel. Откройте панель управления, перейдите в раздел Серверы и нажмите Создать сервер. В качестве […]
Эта инструкция — часть курса «MySQL для новичков».
MySQL — это реляционная СУБД, которая использует язык запросов SQL. В инструкции мы рассмотрим, как запустить MySQL на Ubuntu 20.04. Для этого нам потребуется облачный сервер.
Создание облачного сервера
Создать облачный сервер с операционной системой Ubuntu 20.04 можно в Облачной платформе Selectel.
Откройте панель управления, перейдите в раздел Серверы и нажмите Создать сервер.
В качестве источника выберите в списке Ubuntu 20.04.
Сконфигурировать сервер можно любым образом, подробнее о настройках в Базе знаний.
Чтобы в дальнейшем можно было подключиться к серверу извне, создайте плавающий IP-адрес. Для этого в выпадающем списке Сеть выберите Плавающий IP-адрес.
Подготовка системы
Перед установкой MySQL сервер нужно подготовить: подключиться к нему по SSH и настроить брандмауэр с помощью UFW.
Подключение по SSH
Для подключения по SSH в терминале локальной машины введите:
IP-адрес сервера находится на вкладке Порты на странице сервера.
Пароль для root-пользователя, который требуется при аутентификации, можно найти на вкладке Консоль.
Настройка брандмауэра в Ubuntu
После подключения настройте брандмауэр так, чтобы он разрешал подключения к серверу по SSH.
Установите утилиту UFW для настройки брандмауэра:
Проверьте список профилей UFW:
В списке должен быть указан OpenSSH:
Available applications: OpenSSH
Разрешите подключения по SSH:
Убедитесь, что брандмауэр активен, и включены профили OpenSSH:
Вывод будет выглядеть так:
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)
Теперь можно переходить к установке и настройке MySQL на облачном сервере.
Установка MySQL
Установить MySQL на Ubuntu 20.04 можно через пакет:
sudo apt install mysql-server
На момент публикации инструкции по умолчанию ставится версия 8.0.23.
Вы можете проверить установленную версию:
Начальная настройка MySQL
Запустите скрипт для повышения безопасности MySQL:
sudo mysql_secure_installation
Система запросит разрешение на установку плагина валидации паролей. Этот плагин проверяет безопасность пароля и позволяет пользователю ставить только достаточно защищенные пароли.
Если вы хотите установить этот плагин, введите в консоли y или Y.
Есть три уровня защищенности пароля: LOW (0), MEDIUM (1) и STRONG (2). Чтобы задать уровень пароля, нажмите соответствующую цифру, например, 2 для сильного пароля. Даже если вы на предыдущем шаге не установили плагин, система запросит вас поставить пароль для пользователя root — введите его два раза.
Если плагин установлен, будет показан уровень надёжности пароля Estimated strength of the password.
Далее система задаст ряд вопросов: хотите ли вы использовать этот пароль для продолжения работы, удалить ли всех анонимных пользователей, запретить удаленно подключаться как root, удалить тестовую БД и доступ к ней, перезагрузить таблицы с привилегиями. Вы можете ответить на все эти вопросы положительно: y, Y или Enter.
Если в выводе появится All done!, то пароль для root успешно настроен.
По умолчанию вход в MySQL в Ubuntu не будет происходить по паролю. Чтобы настроить подключение через пароль, следуйте инструкции ниже.
Настройка аутентификации и управление пользователями
Аутентификация по паролю
Для root-пользователя аутентификация в MySQL происходит с использованием плагина auth_socket. Чтобы при подключении запрашивался пароль, нужно изменить плагин.
Посмотрите, какой плагин используется:
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Для пользователя root используется auth_socket:
Назначьте пользователю root новый плагин caching_sha2_password. Также установите пароль того уровня надежности, который вы задали ранее (на шаге Базовая настройка MySQL) — это может быть, например, тот же самый пароль. Введите его вместо password:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
Некоторые приложения для работы с MySQL (например, phpMyAdmin) не будут надежно работать с плагином caching_sha2_password. В таком случае лучше установить другой плагин — mysql_native_password.
Проверьте, что для пользователя root плагин изменился на caching_sha2_password:
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Закройте командную строку MySQL:
Дополнительный пользователь (опционально)
Вы можете создать дополнительного пользователя для работы с MySQL.
Если вы установили аутентификацию по паролю, изменилась команда для подключения к консоли MySQL:
Если у вас не установлена аутентификация по паролю, то для входа в MySQL используйте:
Создайте нового пользователя и поставьте пароль:
mysql> CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';
Если вы хотите дать пользователю полный доступ к определенной базе данных, используйте:
mysql> GRANT ALL PRIVILEGES ON database_name.* TO 'new_user'@'localhost';
Тестирование MySQL
В выводе должен быть индикатор зеленого цвета и статус active:
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-03-22 09:57:07 UTC; 2h 39min ago Main PID: 2630 (mysqld) Status: "Server is operational" Tasks: 38 (limit: 1107) Memory: 331.4M CGroup: /system.slice/mysql.service └─2630 /usr/sbin/mysqld
По какой-то причине сервис может быть не активен. В таком случае запуск MySQL в Ubuntu происходит через команду:
sudo systemctl start mysql
Если вы хотите дополнительно проверить работу MySQL, используйте инструмент mysqladmin — он нужен для администрирования MySQL-сервера. Подключитесь к MySQL и запросите пароль от root:
sudo mysqladmin version -u root -p
Если вывод выглядит подобным образом, то MySQL успешно установлена и готова к использованию:
mysqladmin Ver 8.0.23-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu)) Copyright (c) 2000, 2021, 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. Server version 8.0.23-0ubuntu0.20.04.1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 2 hours 47 min 34 sec Threads: 2 Questions: 28 Slow queries: 0 Opens: 141 Flush tables: 3 Open tables: 60 Queries per second avg: 0.002
Удаление MySQL
Если по какой-то причине вам нужно удалить MySQL из Ubuntu 20.04, сначала остановите сервисы:
sudo systemctl stop mysql
sudo apt purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
Удалите всех пользователей:
sudo deluser --remove-home mysql
Удалите файлы базы данных, конфигурационные файлы и логи:
sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql
Удалите оставшиеся зависимости:
Как установить MySQL на Windows
Создание базы данных в MySQL
Зарегистрируйтесь в панели управления
И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.