Как установить mysql ubuntu
Установка MySQL в Ubuntu 20.04
Установка MySQL 8 в Ubuntu
Программа и все необходимые компоненты есть в официальных репозиториях, поэтому установить её не составит труда. Для установки из официальных репозиториев сначала обновите списки пакетов:
Затем установите необходимые пакеты:
sudo apt install mysql-server mysql-client
На данный момент в репозиториях Ubuntu 20.04 есть уже версия Mysql 8.20. Вы можете проверить установленную версию такой командой:
Кроме того, желательно проверить, запущенна ли служба MySQL:
sudo systemctl status mysql
Вы должны увидеть зеленую надпись Active, Running и версию программы, которую устанавливали.
Установка MySQL 5.7 в Ubuntu
Если вам нужна версия 5.7, то её в репозиториях нет, но вы можете получить эту версию из репозитория разработчика. Если в системе уже есть более новая версия, её надо полностью удалить:
Также удалите каталог с базами данных MySQL они не совместимы со старой версией:
Для установки репозитория скачайте этот пакет:
sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
Затем установите его:
Затем выберите MySQL Server and Cluster:
После этого останется выбрать нужную версию MySQL, например 5.7:
После этого обновите списки репозиториев и посмотрите какие версии MySQL доступны:
sudo apt-cache policy mysql-server
Осталось установить установить mysql 5.7 в Ubuntu:
sudo apt install mysql-server=5.7.31-1ubuntu18.04 mysql-community-server=5.7.31-1ubuntu18.04 mysql-client=5.7.31-1ubuntu18.04
В процессе установки программа запросит пароль для root пользователя:
После этого вы снова можете посмотреть версию:
Настройка mysql в Ubuntu
Перед тем как вы сможете полноценно использовать только что установленную базу данных, необходимо выполнить ее первоначальную настройку. Для этого был разработан специальный скрипт, выполните его:
Введите Y для отключения анонимного доступа к MySQL, затем ещё раз Y чтобы запретить подключаться к базе от имени root удаленно:
Снова Y, чтобы удалить тестовую базу данных. Затем, обновите привилегии для пользователей:
После завершения настройки вы можете подключиться к пользователя root к серверу баз данных из командной строки:
Здесь нам необходимо создать пользователя, от имени которого мы будем использовать базу данных, а также саму базу данных. Для этого воспользуемся командами SQL. Сначала создаем базу данных:
mysql> CREATE DATABASE testDB;
Далее создадим пользователя:
mysql> CREATE USER ‘my_user’@’localhost’ IDENTIFIED BY ‘password’;
Слова my_user и password нужно заменить на свои имя пользователя и пароль. Дальше нужно дать права пользователю на управление этой базой данных:
mysql> GRANT ALL PRIVILEGES ON testDB.* TO ‘my_user’@’localhost’
Или вы можете дать права только на несколько инструкций:
mysql> GRANT SELECT,UPDATE,DELETE ON testDB.* TO ‘my_user’@’localhost’;
Если какую-либо инструкцию нужно запретить, удалите ее:
mysql> REVOKE UPDATE ON testDB.* FROM ‘my_user’@’localhost’;
После завершения работы с правами нужно их обновить:
mysql> FLUSH PRIVILEGES;
Чтобы убедиться что нет никого лишнего, вы можете вывести список пользователей:
mysql> SELECT user,host FROM mysql.user;
Также вы можете посмотреть полномочия для нужного пользователя:
mysql> SHOW GRANTS FOR ‘my_user’@’localhost’;
Теперь установка MySQL Ubuntu 20.04 полностью завершена и вы можете использовать эту базу данных для решения своих задач.
Удаление MySQL в Ubuntu
Чтобы удалить mysql Ubuntu 20.04 понадобиться немного больше команд чем для удаления простого пакета. После удаления основных пакетов в системе остается еще много файлов. Мы рассмотрим как удалить все.
Сначала остановите сервисы:
Удалите основные пакеты и их зависимости:
Удалите пользователя mysql и остатки программы в системе:
Удалите все логи подключений к mysql из терминала:
Теперь ваша система полностью очищена от MySQL.
Выводы
В этой статье мы рассмотрели как выполняется установка MySQL в Ubuntu 20.04. Как видите, это не очень трудно, хотя и требует некоторых знаний и немного времени на то, чтобы со всем разобраться. Надеюсь, эта информация была для вас полезной.
Установка и настройка MySQL в Ubuntu 20.04
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:
Разрешите подключения по SSH:
Убедитесь, что брандмауэр активен, и включены профили OpenSSH:
Вывод будет выглядеть так:
Теперь можно переходить к установке и настройке MySQL на облачном сервере.
Установка MySQL
Установить MySQL на Ubuntu 20.04 можно через пакет:
На момент публикации инструкции по умолчанию ставится версия 8.0.23.
Вы можете проверить установленную версию:
Начальная настройка MySQL
Запустите скрипт для повышения безопасности MySQL:
Система запросит разрешение на установку плагина валидации паролей. Этот плагин проверяет безопасность пароля и позволяет пользователю ставить только достаточно защищенные пароли.
Если вы хотите установить этот плагин, введите в консоли 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:
Посмотрите, какой плагин используется:
Для пользователя root используется auth_socket:
Назначьте пользователю root новый плагин caching_sha2_password. Также установите пароль того уровня надежности, который вы задали ранее (на шаге Базовая настройка MySQL) — это может быть, например, тот же самый пароль. Введите его вместо password:
Некоторые приложения для работы с MySQL (например, phpMyAdmin) не будут надежно работать с плагином caching_sha2_password. В таком случае лучше установить другой плагин — mysql_native_password.
Проверьте, что для пользователя root плагин изменился на caching_sha2_password:
Закройте командную строку MySQL:
Дополнительный пользователь (опционально)
Вы можете создать дополнительного пользователя для работы с MySQL.
Если вы установили аутентификацию по паролю, изменилась команда для подключения к консоли MySQL:
Если у вас не установлена аутентификация по паролю, то для входа в MySQL используйте:
Создайте нового пользователя и поставьте пароль:
Если вы хотите дать пользователю полный доступ к определенной базе данных, используйте:
Закройте консоль MySQL:
Тестирование MySQL
Посмотрите статус MySQL:
В выводе должен быть индикатор зеленого цвета и статус active:
По какой-то причине сервис может быть не активен. В таком случае запуск MySQL в Ubuntu происходит через команду:
Если вы хотите дополнительно проверить работу MySQL, используйте инструмент mysqladmin — он нужен для администрирования MySQL-сервера. Подключитесь к MySQL и запросите пароль от root:
Если вывод выглядит подобным образом, то MySQL успешно установлена и готова к использованию:
Удаление MySQL
Если по какой-то причине вам нужно удалить MySQL из Ubuntu 20.04, сначала остановите сервисы:
Удалите пакеты MySQL:
Удалите всех пользователей:
Удалите файлы базы данных, конфигурационные файлы и логи:
MySQL
Содержание
MySQL — свободная СУБД для малых и средних приложений. Входит в состав LAMP и XAMPP.
Версии MySQL в Ubuntu
Установка
MySQL есть в репозиториях Ubuntu. Он разбит на несколько пакетов.
Для того чтобы установить MySQL сервер выполните команду:
При установке конфигурационный скрипт запросит пароль для администратора (root) базы данных.
Для того чтобы установить консольный клиент MySQL выполните команду:
Для того чтобы установить модуль для работы с MySQL в PHP выполните команду:
Настройка
Конфигурация сервера MySQL содержится в файле /etc/mysql/my.cnf.
Доступ к серверу из сети
По умолчанию сервер MySQL принимает соединения только с локальной машины. Для того, чтобы разрешить подключаться к нему с других машин замените строку
Кодировки
В связи с этим, даже используя при работе с сервером команду
и используя при создании таблиц
невозможно добиться полной поддержки кодировки utf8:
Кодировка по-умолчанию все равно останется latin1, что неудобно и может привести к ошибкам.
Чтобы сервер сразу загружался с нужной кодировкой, необходимо отредактировать файл /etc/mysql/my.cnf:
В секцию [mysqld] добавьте следующие строки:
Так же желательно установить кодировку для клиента и mysqldump. Для этого в секциях [client] и [mysqldump] необходимо добавить строчку:
Перезагрузите сервер MySQL:
После этого список переменных будет выглядеть так:
Администрирование
Установка root пароля
Восстановление забытого пароля для root’a
Схожая проблема возникает если не задать пароль при установке MySQL, в этом случае mysql использует плагин unix-socket.
Подключитесь к MySQL-серверу командой:
Обновите пароль для root’a:
Параметр | Описание | Пример |
---|---|---|
-u | Пользователь, от лица которого будет производится дамп баз данных. | -uroot |
-p |
Отключение и включение автозагрузки сервиса
Начиная с версии Ubuntu 15.04 отключение и включение сервисов возможно одной командой, без редактирования конфигов. В примерах команд ниже слово «SERVICE» следует заменить на «mysql».
Узнать стоит ли сервис в автозагрузке:
Убрать сервис из автозагрузки в Ubuntu-16.04:
Добавить сервис в автозагрузку в Ubuntu-16.04:
MySQL Workbench
MySQL Workbench – инструмент для визуального проектирования баз данных. MySQL Workbench существует в двух вариантах:
Как установить MySQL в Ubuntu 18.04
Published on July 18, 2018
Введение
MySQL является системой управления базами данных с открытым исходным кодом и обычно используется, как часть популярного стека LAMP (Linux, Apache, MySQL, PHP/Python/Perl). MySQL использует реляционную базу данных и SQL (Structured Query Language, язык структурированных запросов) для управления данными.
Это руководство описывает процесс установки MySQL версии 5.7 на сервер с Ubuntu 18.04. Если вам необходимо обновить установленную ранее версию MySQL до версии 5.7, вы можете ознакомиться с руководством по обновлению MySQL до версии 5.7.
Необходимые условия
Перед тем, как начать следовать шагам, описанным в этом руководстве, вам необходимо настроить отдельный, не-рутовый (non-root) профиль пользователя на вашем сервере с Ubuntu 18.04. Вы можете сделать это используя нашу статью о первичной настройке сервера на Ubuntu 18.04.
По умолчанию в репозиторий пакетов APT в Ubuntu 18.04 включена только последняя версия MySQL. На момент написания этого руководства это MySQL 5.7.
Для установки этой версии обновите индекс пакетов apt командой:
Затем установите пакет:
Эта команда установит MySQL, но при этом вам не будет предложено задать пароль или внести какие-либо правки в конфигурацию. Поскольку это делает установку небезопасной, рассмотрим далее, как настроить установленную MySQL.
В случае новой установки MySQL вам необходимо выполнить скрипт безопасности. Он изменяет некоторые настройки по умолчанию на более безопасные, например, удалённый вход для пользователей root и пользователи, созданные по умолчанию. В старых версиях MySQL вам было необходимо также инициализировать директорию данных вручную, теперь это делается автоматически.
Выполните скрипт безопасности командой:
В результате выполнения этого скрипта вам будет предложено внести изменения в настройки безопасности вашей MySQL. Сначала вам будет предложено установить плагин валидации паролей (Validate Password Plugin), который позволяет тестировать надёжность паролей MySQL. Далее вам предложат задать пароль для пользователя root вашей установки MySQL. Выберите надёжный пароль и введите его два раза.
Далее вы можете выбирать Y и нажимать ENTER для всех последующих вопросов. При этом будут удалены некоторые анонимные пользователи и тестовые базы данных, будет отключена возможность удалённого входа для root пользователей, после чего все внесённые изменения будут применены к вашей установке MySQL.
Обратите внимание, несмотря на то, что вы задали пароль для пользователя root для MySQL, этот пользователь не настроен для аутентификации по паролю при подключении к оболочке (shell) MySQL. Вы можете изменить эту настройку на следующем шаге 3.
Далее проверьте, какой метод аутентификации используется для каждого из ваших пользователей MySQL:
Проверьте методы авторизации для пользователей ещё раз для того, чтобы убедиться, что пользователь root более не использует плагин auth_socket для авторизации:
Как можно видеть на представленном выводе теперь root пользователь MySQL аутентифицируется с использованием пароля. После того, как мы в этом убедились, можно выйти из оболочки MySQL:
В некоторых случаях бывает полезно использовать для входа в MySQL отдельного пользователя. Для создания такого пользователя войдите в оболочку MySQL:
Внимание: Если вы включили вход по паролю для пользователя root, как описано выше, вам потребуется использовать другую команду для входа в оболочку MySQL. Команда выше запустит оболочку с привилегиями обычного пользователя, для получения привилегий администратора вам необходимо выполнить следующую команду:
Далее создайте нового пользователя и задайте для него надёжный пароль:
Далее задайте для пользователя подходящий набор привилегий. Например, вы можете дать пользователю доступ ко всем таблицами в базе данных, а также права на добавление, изменение и удаление пользовательских привилегий следующей командой:
После этого, выйдите из оболочки MySQL:
Теперь мы можем протестировать нашу установку MySQL.
Вне зависимости от того, как именно вы установили MySQL, она должна запуститься автоматически. Проверим это следующей командой:
Вы увидите вывод, похожий на этот:
Вы увидите вывод, похожий на этот:
Это означает, что MySQL запущена и работает.
Заключение
Теперь на вашем сервере установлена и настроена MySQL. Вот несколько примеров того, что можно сделать дальше:
Установка MySQL в Ubuntu 20.04
MySQL – это открытая система управления базами данных, которая является частью стека LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Для управления данными реляционная система MySQL использует SQL (Structured Query Language).
Данный мануал поможет установить версию MySQL 8 на сервер Ubuntu 20.04. В результате вы получите рабочую БД, которую вы сможете использовать для хранения данных сайта или приложения.
Требования
Для работы вам понадобится сервер Ubuntu 20.04 с настроенным пользователем sudo и брандмауэром UFW. Все необходимые инструкции можно найти в мануале по начальной настройке сервера.
1: Установка MySQL
В Ubuntu 20.04 можно установить MySQL с помощью пакетного менеджера APT. На момент написания мануала в стандартном репозитории системы доступна версия MySQL 8.0.19. Прежде чем установить ее, обновите индекс локальных пакетов:
Чтобы установить пакет mysql-server, введите:
sudo apt install mysql-server
Эта команда установит MySQL, но не предложит вам установить пароль или внести какие-либо изменения в настройки. На данный момент ваша установка не защищена, и это нужно исправить.
2: Настройка MySQL
Первым делом на свежей установке СУБД следует запустить встроенный скрипт безопасности. Он изменит некоторые стандартные параметры, заблокирует удалённый root-логин и удалит образцы.
Запустите этот сценарий:
После этого сценарий задаст вам ряд вопросов и на основе ваших ответов изменит конфигурацию СУБД. Сначала он предложит настроить 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: Настройка аутентификации и привилегий (опционально)
В системах Ubuntu, которые используют MySQL 5.7 и старше, пользователь root по умолчанию проходит аутентификацию с помощью плагина auth_socket, а не с помощью пароля. Это повышает безопасность установки и во многих случаях упрощает работу с ней, но также может усложнить ситуацию, если вам нужно открыть доступ к пользователю какой-то внешней программе (например, phpMyAdmin).
Чтобы использовать пароль для аутентификации root пользователя MySQL, вам необходимо переключить метод аутентификации с auth_socket на другой плагин, например на caching_sha2_password или mysql_native_password. Для этого откройте командную строку MySQL:
Теперь уточните, какой метод аутентификации использует каждый ваш пользователь MySQL:
В нашем случае root-пользователь проходит аутентификацию по плагину auth_socket. Чтобы настроить его для парольной аутентификации, запустите команду ALTER USER.
Вместо password выберите надежный пароль. Имейте в виду: этот пароль заменит тот пароль, что вы выбрали в разделе 2.
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH caching_sha2_password BY ‘password’;
Примечание: Данный оператор ALTER USER настраивает root-пользователя MySQL для аутентификации с помощью плагина caching_sha2_password. Согласно официальной документации MySQL, плагин caching_sha2_password рекомендуется использовать для аутентификации MySQL, поскольку он обеспечивает более безопасное шифрование паролей, чем старый, но все еще широко используемый 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, чтобы перезагрузить таблицы привилегий и применить новые настройки:
Проверьте метод аутентификации пользователей, чтобы убедиться, что root больше не поддерживает плагин auth_socket:
Как видите, теперь корневой пользователь MySQL аутентифицируется с помощью caching_sha2_password. После этой проверки вы можете выйти из оболочки MySQL:
В некоторых ситуациях для подключения к MySQL лучше подходит специальный выделенный пользователь. Этот вариант можно использовать в качестве альтернативы пользователю root. Чтобы создать нового пользователя, снова откройте оболочку MySQL:
Примечание: Если у вас включена парольная аутентификация для пользователя root, как описано выше, для доступа к оболочке MySQL вы должны использовать другую команду. Предыдущая команда запустит клиент MySQL с правами обычного пользователя; а права администратора в базе данных вы получите только таким путем:
Создайте нового пользователя и выберите для него надежный пароль:
CREATE USER ‘8host’@’localhost’ IDENTIFIED BY ‘password’;
Затем предоставьте новому пользователю соответствующие привилегии. Например, с помощью этой команды вы можете предоставить ему привилегии на все таблицы в базе данных, а также право добавлять, изменять и удалять привилегии других пользователей:
GRANT ALL PRIVILEGES ON *.* TO ‘8host’@’localhost’ WITH GRANT OPTION;
Обратите внимание, на этом этапе вам не нужно снова запускать команду FLUSH PRIVILEGES. Она необходима только при изменении таблиц привилегий с помощью операторов INSERT, UPDATE или DELETE. Поскольку вы создали нового пользователя, а не меняли уже существующего, FLUSH PRIVILEGES здесь не нужна.
После этого выйдите из оболочки MySQL:
А сейчас давайте проверим установку MySQL.
4: Тестирование MySQL
По умолчанию MySQL после установки запускается автоматически. Чтобы убедиться в этом, проверьте состояние сервиса:
systemctl status mysql.service
Вы увидите такой вывод:
Если сервис MySQL почему-то не запущен, запустите его:
sudo systemctl start mysql
Еще можно проверить работу вашей СУБД, подключившись к MySQL с помощью инструмента mysqladmin. Это клиент, предназначенный для запуска команд администрирования.
Чтобы подключиться к MySQL как root (-u root), ввести пароль (-p) и запросить версию, используйте такую команду:
Эта команда вернет:
mysqladmin Ver 8.0.19-0ubuntu5 for Linux on x86_64 ((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.
Server version 8.0.19-0ubuntu5
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 10 min 44 sec
Threads: 2 Questions: 25 Slow queries: 0 Opens: 149 Flush tables: 3 Open tables: 69 Queries per second avg: 0.038
Такой вывод значит, что MySQL работает.
Заключение
Теперь вы умеете выполнять базовую установку и настройку MySQL.
Читайте также:
Много полезной информации о MySQL вы найдете в официальной документации.