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

MySQL - это одна из самых популярных систем управления базами данных, которая применяется почти везде, начиная от различных предприятий и промышленности и заканчивая организацией работы веб-сайтов.

Сейчас существует несколько версий MySQL. Непосредственно MySQL, разрабатываемая компанией Oracle и свободный форк от основного разработчика MySQL - MariaDB. Имя MairaDB программа получила в честь первой дочери программиста, также как и MySQL в честь имени второй. В большинстве дистрибутивов Linux используется MariaDB, в том числе и в Ubuntu. Но в этой статье давайте рассмотрим установку именно MySQL в Ubuntu 20.04.

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

Программа и все необходимые компоненты есть в официальных репозиториях, поэтому установить её не составит труда. Для установки из официальных репозиториев сначала обновите списки пакетов:

sudo apt update

Затем установите необходимые пакеты:

sudo apt install mysql-server mysql-client

На данный момент в репозиториях Ubuntu 20.04 есть уже версия Mysql 8.20. Вы можете проверить установленную версию такой командой:

mysql -V

Кроме того, желательно проверить, запущенна ли служба MySQL:

sudo systemctl status mysql

 

Вы должны увидеть зеленую надпись Active, Running и версию программы, которую устанавливали.

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

Если вам нужна версия 5.7, то её в репозиториях нет, но вы можете получить эту версию из репозитория разработчика. Если в системе уже есть более новая версия, её надо полностью удалить:

sudo apt remove --autoremove mysql-server mysql-client

Также удалите каталог с базами данных MySQL они не совместимы со старой версией:

sudo rm -Rf /var/lib/mysql

Для установки репозитория скачайте этот пакет:

sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb

Затем установите его:

sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb

В процессе установки программа попросит выбрать дистрибутив. Если у вас Ubuntu 20.04 или выше, выбирайте версию для Ubuntu 18.04 - bionic:

Затем выберите MySQL Server and Cluster:

После этого останется выбрать нужную версию MySQL, например 5.7:

После этого обновите списки репозиториев и посмотрите какие версии MySQL доступны:

sudo apt update

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

Перед тем как вы сможете полноценно использовать только что установленную базу данных, необходимо выполнить ее первоначальную настройку. Для этого был разработан специальный скрипт, выполните его:

sudo mysql_secure_installation

 

На первом шаге настраивается плагин валидации пароля. Чтобы его включить нажмите Y, или его можно не включать. Затем надо задать сложность пароля, который позволит установить этот плагин. Здесь 0 означает слабый пароль, а 2 - сложный. Когда плагин будет настроен введите пароль root и подтвердите, что хотите использовать именно его:

Введите Y для отключения анонимного доступа к MySQL, затем ещё раз Y чтобы запретить подключаться к базе от имени root удаленно:

 

 

Снова Y, чтобы удалить тестовую базу данных. Затем, обновите привилегии для пользователей:

 

 

После завершения настройки вы можете подключиться к пользователя root к серверу баз данных из командной строки:

sudo mysql -u 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 понадобиться немного больше команд чем для удаления простого пакета. После удаления основных пакетов в системе остается еще много файлов. Мы рассмотрим как удалить все.

Сначала остановите сервисы:

sudo systemctl stop mysql
sudo killall -KILL mysql mysqld_safe mysqld

Удалите основные пакеты и их зависимости:

sudo apt -y purge mysql-server mysql-client
sudo apt -y autoremove --purge
sudo apt autoclean

Удалите пользователя mysql и остатки программы в системе:

deluser --remove-home mysql
sudo delgroup mysql
rm -rf /etc/apparmor.d/abstractions/mysql /etc/apparmor.d/cache/usr.sbin.mysqld /etc/mysql /var/lib/mysql /var/log/mysql* /var/log/upstart/mysql.log* /var/run/mysqld
updatedb

Удалите все логи подключений к mysql из терминала:

sudo find / -name .mysql_history -delete

Теперь ваша система полностью очищена от MySQL.

Выводы

В этой статье мы рассмотрели как выполняется установка MySQL в Ubuntu 20.04. Как видите, это не очень трудно, хотя и требует некоторых знаний и немного времени на то, чтобы со всем разобраться. Надеюсь, эта информация была для вас полезной.

10 комментариев

  1. Аватар Anna 12 мая, 2017 Ответить
  2. Аватар serii 18 сентября, 2017 Ответить
  3. Аватар Андрей 24 декабря, 2017 Ответить
  4. Аватар Janis 26 апреля, 2018 Ответить
  5. Аватар Валерий 23 мая, 2019 Ответить
    • Аватар Kamil 15 июля, 2020 Ответить
  6. Аватар Che Rchill 11 июня, 2020 Ответить
  7. Аватар Никита 27 сентября, 2020 Ответить
  8. Аватар Стас 29 сентября, 2020 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: