Mysql ubuntu install: How to install MySQL 5.7 or 8 on Ubuntu 18.04, 20.04, 22.04
Содержание
Быстрая установка MySQL в Ubuntu 20.04
20 мая, 2020 11:23 дп
2 222 views
| Комментариев нет
mySQL, Quickstart, Ubuntu | Amber
| Комментировать запись
MySQL – это открытая система управления базами данных, которая является частью стека LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Для управления данными реляционная система MySQL использует SQL (Structured Query Language).
Читайте также: Установка стека LAMP в Ubuntu 20.04
Данный мануал поможет установить версию MySQL 8 на сервер Ubuntu 20.04.
Примечание: Расширенную версию этого мануала вы найдете здесь.
Требования
Для работы вам понадобится сервер Ubuntu 20.04 с настроенным пользователем sudo и брандмауэром UFW. Все необходимые инструкции можно найти в мануале по начальной настройке сервера.
1: Установка MySQL
Прежде чем установить MySQL, обновите индекс локальных пакетов:
sudo apt update
Чтобы установить пакет mysql-server, введите:
sudo apt install mysql-server
2: Настройка MySQL
Первым делом на свежей установке СУБД следует запустить встроенный скрипт безопасности:
sudo mysql_secure_installation
После этого сценарий задаст вам ряд вопросов и на основе ваших ответов изменит конфигурацию СУБД. Сначала он предложит настроить Validate Password Plugin, который проверяет надежность вашего пароля.
Если вы решите настроить Validate Password Plugin, сценарий предложит выбрать уровень проверки пароля. Наивысший уровень можно включить, нажав 2.
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:
После этого сценарий уточнит, хотите ли вы оставить этот пароль или выбрать новый. Чтобы продолжить работу, не меняя пароль, нажмите у:
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, чтобы принять опции по умолчанию.
3: Настройка аутентификации и привилегий (опционально)
Чтобы использовать пароль для аутентификации root пользователя MySQL, вам необходимо переключить метод аутентификации с auth_socket на другой плагин, например на caching_sha2_password или mysql_native_password. Для этого откройте командную строку MySQL:
sudo mysql
Чтобы настроить поддержку парольной аутентификации, запустите команду ALTER USER. Вместо password выберите надежный пароль. Имейте в виду: этот пароль заменит тот пароль, что вы выбрали в разделе 2.
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
Примечание: Согласно официальной документации MySQL, для аутентификации MySQL рекомендуется использовать плагин caching_sha2_password, поскольку он обеспечивает более безопасное шифрование паролей, чем старый, но все еще широко используемый mysql_native_password.
Однако многие приложения PHP – например, phpMyAdmin – не очень хорошо поддерживают caching_sha2_password. Если вы планируете использовать эту базу данных с приложением PHP, рекомендуем настроить аутентификацию root с помощью плагина mysql_native_password:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Затем запустите FLUSH PRIVILEGES, чтобы перезагрузить таблицы привилегий и применить новые настройки:
FLUSH PRIVILEGES;
Проверьте метод аутентификации пользователей, чтобы убедиться, что root больше не поддерживает плагин auth_socket:
SELECT user,authentication_string,plugin,host FROM mysql. user;
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+——————+————————————————————————+————————+————+
| debian-sys-maint | $A$005$lS|M#3K #XslZ.xXUq.crEqTjMvhgOIX7B/zki5DeLA3JB9nh0KwENtwQ4 | caching_sha2_password | localhost |
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| root | *3636DACC8616D997782ADD0839F92C1571D6D78F | caching_sha2_password | localhost |
+——————+————————————————————————+————————+————+
5 rows in set (0. 00 sec)
После этой проверки вы можете выйти из оболочки MySQL:
exit
В некоторых ситуациях для подключения к MySQL лучше подходит специальный выделенный пользователь. Этот вариант можно использовать в качестве альтернативы пользователю root. Чтобы создать нового пользователя, снова откройте оболочку MySQL:
sudo mysql
Примечание: Если у вас включена парольная аутентификация для пользователя root, как описано выше, для доступа к оболочке MySQL вы должны использовать такую команду:
mysql -u root -p
Создайте нового пользователя и выберите для него надежный пароль:
CREATE USER '8host'@'localhost' IDENTIFIED BY 'password';
Затем предоставьте новому пользователю соответствующие права. Например, с помощью этой команды вы можете предоставить ему привилегии на все таблицы в базе данных, а также право добавлять, изменять и удалять привилегии других пользователей:
GRANT ALL PRIVILEGES ON *. * TO '8host'@'localhost' WITH GRANT OPTION;
После этого выйдите из оболочки MySQL:
exit
Заключение
Теперь вы умеете выполнять базовую установку и настройку MySQL.
Читайте также:
- Запросы в MySQL
- Установка стека LAMP в Ubuntu 20.04
Много полезной информации о MySQL вы найдете в официальной документации СУБД.
Tags: MySQL, Ubuntu, Ubuntu 20.04
Как установить MySQL в Ubuntu 22.04
MySQL — одна из наиболее часто используемых систем управления базами данных с открытым исходным кодом. Несмотря на значительный рост популярности PostgreSQL и MariaDB в настоящее время, оригинальный MySQL по-прежнему популярен.
В этой статье я объясню, как установить MySQL в Ubuntu 22.04. Кроме того, я покажу, как выполнить первоначальную настройку, чтобы подготовить MySQL к работе.
Содержание
Как установить MySQL в Ubuntu 22.04
В Ubuntu 22. 04 можно установить только MySQL 8. Версия 5.7 устарела, и в новых версиях Ubuntu для нее нет пакетов. MySQL 8 можно установить из официального репозитория или репозитория разработчиков. На момент написания есть те же версии пакетов, но в будущем они могут измениться.
Официальные репозитории
Обновите списки пакетов перед установкой всего из официальных репозиториев с помощью этой команды:
sudo apt update
После этого выполните следующую команду для установки сервера и клиента MySQL:
Судо подходит install mysql-server mysql-client
Репозитории разработчиков
Установить MySQL в Ubuntu 22.04 из репозитория разработчиков сложнее. Во-первых, вам нужно добавить репозиторий в вашу систему. Скачать deb файл с его конфигурацией с официального сайта:
Сайт может попросить вас зарегистрироваться. Но это не обязательно, просто нажмите на Не спасибо, просто запустите мою ссылку для загрузки :
Затем установите загруженный пакет:
sudo dpkg -i ~/Downloads/mysql-apt-config
Во время установки, вы должны ответить на несколько вопросов установщика. На первом шаге выберите Ok и нажмите Enter . На втором этапе вы можете настроить версии компонентов. Доступна только одна версия, так что можете оставить как есть. Просто выберите Ok с помощью клавиш со стрелками и нажмите Введите :
Обратите внимание, что вы должны выбрать пункт Ok , когда вы хотите завершить настройку. В противном случае может сложиться впечатление, что программа зациклилась. Когда репозиторий установлен, обновите списки пакетов:
sudo apt update
Затем установите MySQL:
sudo apt install mysql-server mysql-client
Начальная настройка MySQL в Ubuntu
Если вы решили установить MySQL из репозитория разработчиков, он может задать вам несколько вопросов. На первом этапе программа установки может запросить пароль для вашего пользователя root. Вы можете оставить его пустым, но это может создать некоторые проблемы в будущем. Итак, введите пароль:
Затем введите пароль еще раз для подтверждения. Затем он может сообщить вам, что MySQL может использовать новый метод авторизации:
На следующем шаге установщик спросит, должен ли он использовать новый метод авторизации или вернуться к старому механизму. Клиентские библиотеки MySQL уже скомпилированы с поддержкой нового механизма, так что вы можете его использовать:
Если вы не установили пароль root в процессе установки или программа установки не запрашивает пароль, вам следует установить его после завершения установки. Используйте эту команду:
пароль mysqladmin -u root -p
Команда предложит вам ввести пароль и подтверждение. После этого запустите команду mysql_secure_installation для защиты вашего сервера MySQL:
mysql_secure_installation
Сначала утилита запросит пароль root. После этого вы должны указать, должен ли быть включен плагин проверки пароля MySQL. Если вы не знаете, что это такое, вам это не нужно. Этот плагин не позволяет устанавливать очень слабые пароли для пользователей MySQL и может создать некоторые проблемы для новичков. Итак, вы можете ответить n на этом шаге:
Затем утилита спросит, хотите ли вы изменить пароль root. Вы настроили его ранее, поэтому здесь вы также можете ответить n :
Наконец, ответьте y на все следующие вопросы:
- Удалить анонимных пользователей
- Запретить удаленный вход в систему root — это относится только к удаленным подключениям, подключения для локального хоста не являются удаленными.
- Удаление тестовой базы данных и доступ к ней .
- Перезагрузить таблицы привилегий сейчас .
Вот и все. Обратите внимание, что вы не можете использовать sudo для подключения к MySQL в командной строке. Если вы попытаетесь это сделать, вы получите сообщение об ошибке «Отказано в доступе». Вы должны использовать клиентскую команду MySQL с опцией -p и вводить пароль root для каждой сессии:
mysql -u root -p
Как исправить ошибку SET PASSWORD не имеет значения для пользователя root@ локальный
Если вы не настроили пароль root для MySQL во время установки или позже, будет использоваться метод аутентификации сокета Unix. В этом случае только суперпользователь Linux или пользователь с привилегиями sudo может войти в систему как пользователь root MySQL. Когда вы попытаетесь изменить пароль root в mysql_secure_installation , вы получите эту ошибку:
SET PASSWORD не имеет значения для пользователя «root» @ «localhost», поскольку используемый метод аутентификации не хранит данные аутентификации на сервере MySQL. . Пожалуйста, рассмотрите возможность использования ALTER USER вместо этого, если вы хотите изменить параметры аутентификации.
Действительно, авторизация сокетов Unix не поддерживает сохранение паролей, поскольку авторизует пользователей без использования пароля. Он просто проверяет, является ли текущий пользователь суперпользователем. Но пропускать настройку пароля нельзя, утилита снова и снова будет запрашивать новый пароль root. Самый простой способ установить пароль: mysqladmin команда:
sudo mysqladmin password -u root -p
Также вы можете установить пароль с помощью SQL-запроса. Просто откройте клиент MySQL CLI и измените метод авторизации и пароль, чтобы исправить это:
sudo mysql
Затем выполните этот запрос:
ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ 'root'@'localhost' ИДЕНТИФИЦИРОВАННЫЙ С mysql_native_password BY 'your_password';
Далее вы можете закрыть клиент MySQL с помощью следующей команды:
выход;
После этого вы можете запустить mysql_secure_installation , ввести там новый пароль root и завершить первоначальную настройку без каких-либо проблем.
Обратите внимание, что вы не можете подключиться к MySQL в командной строке без пароля. Если вы хотите отменить это поведение, вам следует изменить метод аутентификации для пользователя root, выполнив этот SQL-запрос:
ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ 'root'@'localhost' ИДЕНТИФИКАЦИЯ С auth_socket;
Как удалить MySQL в Ubuntu
Это довольно просто. Если вы хотите удалить только пакет и сохранить конфигурацию, используйте следующую команду:
sudo apt remove mysql-server mysql-client
Если вы хотите полностью удалить MySQL в Ubuntu 22.04, используйте команду purge :
sudo apt очистить mysql-сервер mysql-клиент
Подведение итогов
В этой статье я объяснил, как установить MySQL в Ubuntu 22.04 и как выполнить первоначальную настройку. Как видите, в процессе установки есть несколько важных моментов, которые стоит сделать правильно. Итак, теперь вы знаете, как их избежать.
Нашли ошибку в тексте? Дайте мне знать об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как установить и использовать MySQL в Ubuntu 20.04
В этом руководстве мы покажем вам, как установить MySQL в Ubuntu 20.04 и как использовать его с основными командами MySQL. MySQL — это система управления реляционными базами данных с открытым исходным кодом, которая благодаря своей популярности широко используется в различных системах для хранения данных.
В этом посте вы узнаете больше о регистрации в MySQL с пользователем root или без него, создании базы данных, создании пользователя, предоставлении привилегий, внешнем доступе к вашим базам данных, импорте базы данных, создании дампа базы данных и т. д. Давайте начнем !
Содержание
1
1. Обновление системы
Мы предполагаем, что у вас установлена новая версия Ubuntu 20.04 в качестве ОС, поэтому мы собираемся обновить систему перед тем, как начать установку.
sudo apt update -y && sudo apt upgrade -y
2. Установите сервер MySQL
Установите сервер базы данных MySQL с помощью следующей команды:
sudo apt install mysql-server -y
После выполнения этой команды начнется процесс установки MySQL 8. 0. MySQL 8.0 включен по умолчанию в репозиторий Ubuntu 20.04. После завершения установки вы можете проверить, запущена ли служба:
sudo systemctl status mysql
Вы должны получить следующий вывод:
root@vps:~# systemctl status mysql ● mysql.service — Сервер сообщества MySQL Загружено: загружено (/lib/systemd/system/mysql.service; включено; предустановка поставщика: включена) Активно: активно (работает) с чт 04.11.2021 17:07:12 UTC; 39с назад Основной PID: 98088 (mysqld) Статус: "Сервер работает" Заданий: 38 (лимит: 4617) Память: 355,4 Мб Группа CG: /system.slice/mysql.service └─98088 /usr/sbin/mysqld
3. Защитите сервер MySQL
Прежде чем мы начнем использовать MySQL, нам необходимо защитить его, выполнив несколько шагов с помощью следующей команды:
sudo mysql_secure_installation
Эта команда проведет нас через несколько шагов, которые помогут нам настроить безопасность нашего MySQL, установите надежный пароль root и т. д. Вы должны использовать параметры, выделенные жирным шрифтом, из вывода ниже:
root@vps:~# sudo mysql_secure_installation Обеспечение безопасности развертывания сервера MySQL. Подключение к MySQL с использованием пустого пароля. VALIDATE PASSWORD COMPONENT можно использовать для проверки паролей. и повысить безопасность. Проверяет надежность пароля и позволяет пользователям устанавливать только те пароли, которые достаточно безопасно. Вы хотите настроить компонент VALIDATE PASSWORD? Нажмите y|Y для Да, любую другую клавишу для Нет: Д Существует три уровня политики проверки пароля: НИЗКИЙ Длина >= 8 СРЕДНЯЯ Длина >= 8, цифры, смешанный регистр и специальные символы STRONG Длина >= 8, цифры, смешанный регистр, специальные символы и файл словаря Пожалуйста, введите 0 = НИЗКИЙ, 1 = СРЕДНИЙ и 2 = СИЛЬНЫЙ: 2 Пожалуйста, установите пароль для root здесь. Новый пароль: YourStrongRootPassword Повторно введите новый пароль: YourStrongRootPassword Расчетная надежность пароля: 100 Вы хотите продолжить с предоставленным паролем? (Нажмите y|Y для Да, любую другую клавишу для Нет) : Д По умолчанию установка MySQL имеет анонимного пользователя, позволяя любому войти в MySQL без необходимости иметь учетная запись пользователя, созданная для них. Это предназначено только для тестирование и сделать установку более плавной. Вы должны удалить их, прежде чем переходить к производству среда. Удалить анонимных пользователей? (Нажмите y|Y для Да, любую другую клавишу для Нет) : Y Успех. Обычно пользователю root должно быть позволено подключаться только из «локальный хост». Это гарантирует, что кто-то не сможет угадать пароль root из сети. Запретить удаленный вход в систему root? (Нажмите y|Y для Да, любую другую клавишу для Нет) : Д Успех. По умолчанию MySQL поставляется с базой данных с именем «test», которая любой может получить доступ. Это также предназначено только для тестирования, и должны быть удалены перед переходом в производство среда. Удалить тестовую базу данных и доступ к ней? (Нажмите y|Y для Да, любую другую клавишу для Нет) : Y - Удаление тестовой базы данных... Успех. - Удаление привилегий на тестовой базе данных... Успех. Повторная загрузка таблиц привилегий гарантирует, что все изменения сделанные до сих пор вступят в силу немедленно. Перезагрузить таблицы привилегий сейчас? (Нажмите y|Y для Да, любую другую клавишу для Нет) : Д Успех. Все сделано!
Теперь установка MySQL будет защищена, и мы можем перейти к некоторым полезным командам на следующих шагах
4. Войти на сервер MySQL с паролем root и без него только введите команду «
mysql » в командной строке сервера без MySQL, чтобы запросить пароль root, который вы установили на предыдущем шаге.
После ввода « mysql » вы войдете в подсказку MySQL.
root@vps:~# mysql Добро пожаловать в монитор MySQL. Команды заканчиваются на ; или \г. Ваш идентификатор соединения MySQL равен 13. Версия сервера: 8.0.27-0ubuntu0.20.04.1 (Ubuntu) Авторские права (c) 2000, 2021, Oracle и/или ее дочерние компании. Oracle является зарегистрированным товарным знаком корпорации Oracle и/или ее филиалы. Другие названия могут быть товарными знаками соответствующих владельцы. Введите «помощь»; или '\h' для помощи. Введите '\c', чтобы очистить текущий оператор ввода. mysql>
То же самое будет, если вы выполните следующую команду и нажмете Enter, не вводя пароль:
mysql -u root -p
Чтобы настроить MySQL на запрос пароля root, выполните следующую команду в командной строке MySQL:
ALTER USER 'root'@'localhost' ИДЕНТИФИКАЦИЯ С mysql_native_password BY 'YourStrongRootPassword';
Вы должны увидеть следующий ввод после выполнения
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourStrongRootPassword'; Запрос выполнен успешно, затронута 1 строка (0,01 сек.) mysql
Теперь, если вы попытаетесь войти в систему с помощью « mysql », вы получите следующее сообщение:
root@vps:~# mysql ОШИБКА 1045 (28000): Доступ запрещен для пользователя «root» @ «localhost» (используя пароль: НЕТ)
Вам необходимо использовать приведенную ниже команду с ранее установленным паролем root:
mysql -u root -p
Вам решать, хотите ли вы использовать пароль для входа root или нет. Если вы хотите получить доступ без пароля, просто пропустите этот шаг и продолжайте.
5. База данных, создание пользователей и предоставление привилегий
Если вы перечислите базы данных в приглашении MySQL с помощью команды «show databases», вы получите базы данных по умолчанию из MySQL:
mysql> show databases; +--------------------+ | База данных | +--------------------+ | информационная_схема | | MySQL | | представление_схема | | система | +--------------------+ 4 строки в наборе (0,01 сек)
Чтобы создать базу данных, выполните следующую команду:
Создать базу данных 'admin';
После того, как он будет создан, вы можете снова перечислить базы данных:
mysql> show databases; +--------------------+ | База данных | +--------------------+ | администратор | | информационная_схема | | MySQL | | представление_схема | | система | +--------------------+ 5 рядов в сете (0,00 сек) mysql>
Давайте создадим пользователя с именем «adminuser» и предоставим права доступа к базе данных «admin» с паролем.
СОЗДАЙТЕ ПОЛЬЗОВАТЕЛЯ 'adminuser'@'localhost', ИДЕНТИФИЦИРОВАННОГО 'YourStrongPassword'; ПРЕДОСТАВЬТЕ ВСЕ ПРИВИЛЕГИИ НА admin* 'adminuser'@'localhost'; ПОЛНЫЕ ПРИВИЛЕГИИ; ВЫХОД;
После создания пользователя базы данных с привилегиями к базе данных « admin », вы можете легко проверить, все ли настроено правильно:
mysql -u adminuser -p
Вы должны увидеть только « admin » и базы данных по умолчанию « information_schema »:
mysql> показать базы данных; +--------------------+ | База данных | +--------------------+ | администратор | | информационная_схема | +--------------------+ 2 ряда в сете (0,01 сек) mysql>
6. Внешний доступ к пользователю
Чтобы предоставить удаленный доступ пользователю « adminuser » и нашей существующей базе данных « admin », выполните следующую команду:
GRANT ALL ON admin.* TO adminuser@' remote_ip_address 'ОПРЕДЕЛЕН ' YourStrongPassword ';
Если вы хотите, чтобы пользователь подключался с любого IP-адреса, используйте % :
GRANT ALL ON admin. * TO adminuser@' % 'IDENTIFIED BY 'YourStrongPassword';
7. Создание дампа базы данных
Создание дампа базы данных не требует входа в MySQL. Это можно сделать через терминал командной строки сервера, используя имя пользователя, базу данных и пароль. Мы сделаем дамп нашей базы данных « admin » с пользователем root:
Нужно быстрое и простое решение?
✔ Неограниченная управляемая поддержка
✔ Поддержка вашего программного обеспечения
✔ 2 ядра ЦП
✔ 2 ГБ ОЗУ
✔ 50 ГБ PCIe4 NVMe Disk
✔ 1854 Оценка GeekBench
✔ Неограниченная передача данных
mysqldump -u root -p admin > dump.sql
После создания дампа вы можете проверить, все ли в порядке
root@vps:/# mysql свалка -u корень -p администратор > дамп.sql Введите пароль: root@vps:/# ls -al всего 12 drwxr-xr-x 2 root root 4096 4 ноября 21:38 . drwxr-xr-x 19 root root 4096 18 окт 14:09 .. -rw-r--r-- 1 root root 1266 4 ноября 21:40 dump. sql
8. Импорт дампа базы данных
Чтобы импортировать дамп базы данных в базу данных « admin » с пользователем root, вам необходимо использовать следующую команду:
mysql -u root -p admin < dump.sql
Это синтаксис для дампа и импорт базы данных:
mysqldump -u " пользователь базы данных " -p " имя базы данных " > " имя файла дампа ".sql mysql -u " пользователь базы данных " -p " имя базы данных " < " имя выгруженной базы данных ".sql
Обратите внимание, пользователь базы данных должен иметь привилегии для базы данных, которую необходимо сбросить. Пользователь root MySQL имеет права на создание дампа и импорт всех баз данных.
Поздравляем, вам удалось установить и использовать самые важные команды на сервере MySQL
Если вы хотите узнать больше о командах MySQL, не стесняйтесь посетить их официальную документацию.Конечно, если вам трудно, вы можете связаться с нашей круглосуточной технической поддержкой, и наши администраторы установят и настроят MySQL сервер на Ubuntu 20.