Linux database server mysql

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

MySQL — популярная система управления базами данных с открытым исходным кодом. Несмотря на то, что в последнее время набирает популярность PostgreSQL и форк MySQL — MariaDB созданный разработчиком оригинальной MySQL, сама MySQL всё ещё остается популярной.

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

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

Для Ubuntu 22.04 доступна только версия MySQL 8. Версия 5.7 считается уже устаревшей и для неё пакеты в новой версии дистрибутива не собирались. Вы можете установить MySQL 8 из официальных репозиториев или же из репозитория разработчиков. На момент написания статьи там находятся одинаковые версии пакетов, но Ubuntu 22.04 только недавно вышла, к концу её срока поддержки ситуация может изменится.

Установка из официальных репозиториев

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

Затем выполните такую команду для установки MySQL сервера и клиента:

sudo apt install mysql-server mysql-client

Установка из репозиториев разработчиков

Установка MySQL в Ubuntu 22.04 из репозиториев разработчиков немного сложнее. Сначала необходимо добавить этот репозиторий в систему. Для загрузите deb пакет с конфигурацией репозитория из официального сайта:

Сайт может предложить вам зарегистрироваться, но это не обязательно, просто нажмите кнопку No thanks, just start my download:

Далее установите загруженный пакет используя команду:

sudo dpkg -i ~/Загрузки/mysql-apt-config

В процессе настройки пакета вам будет необходимо ответить на несколько вопросов установщика. На первом экране выберите Ок и нажмите Enter. На втором экране вы можете настроить версии компонентов. Поскольку сейчас доступна только одна версия MySQL, то здесь можно оставить всё по умолчанию. Просто спуститесь на пункт Ок с помощью стрелок вверх/вниз и нажмите Enter:

Читайте также:  Узнать часовой пояс linux

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

sudo apt install mysql-server mysql-client

Настройка MySQL в Ubuntu

Вне зависимости от того какой способ установки вы выбрали, во время установки MySQL задаст вам несколько вопросов. Сначала необходимо указать пароль root:

Затем этот пароль необходимо ввести ещё раз для подтверждения. Вы можете оставить пароль пустым, тогда MySQL будет использовать авторизацию Unix для входа при запуске клиента mysql из консоли, а удалённого доступа вообще не будет. Однако это только добавит проблем вам в будущем, поэтому лучше задать пароль root сейчас.

Далее установщик предупредит о том, что MySQL использует новый способ авторизации. Вы можете ознакомиться с информации в этом окне:

А затем установщик предложит оставить новый метод авторизации или вернутся на старый. Клиентские библиотеки для MySQL в Ubuntu уже собраны с поддержкой нового метода, так что его можно оставить:

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

mysqladmin password -u root -p

Команда два спросит у вас новый пароль и подтверждение. Далее нужно выполнить mysql_secure_installation, для того чтобы защитить ваш MySQL сервер. Если вы задали пароль на этапе установки MySQL, то можете запускать команду без sudo. Если же нет, сначала необходимо установить пароль для пользователя root. Читайте об этом в следующем разделе.

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

Читайте также:  Линукс чем открыть zip

Если же вы уже включили его и не знаете что делать дальше, посмотрите эту статью. Далее утилита спросит нужно ли менять пароль root. Тут тоже можно ответить n, так как пароль у вас уже установлен ранее:

На все остальные вопросы нужно отвечать утвердительно:

  • Remove anonymous users — удалить аноноимных пользователей
  • Disallow root login remotely — отключить удалённые подключения для root пользователя, это касается только удалённых подключений, подключения с localhost удалёнными не считаются.
  • Remove test database and access to it — удалить тестовую базу данных.
  • Reload privilege tables now — перезагрузить таблицу привелений.

На этом всё. При такой настройке использовать только sudo для подключения к mysql из консоли нельзя. Если вы попытаетесь это сделать то получите ошибку Access Denied. Теперь, для того чтобы подключится к MySQL с помощью консольного клиента необходимо ввести пароль root заданный ранее:

Как исправить ошибку SET PASSWORD has no significance for user root@localhost

Если вы во время установки MySQL не задали пароль root, то в качестве метода авторизации будет выбран unix_socket. При использовании этого метода в качестве пользователя root может авторизироваться только суперпользователь системы или пользователь с правами sudo. Когда mysql_secure_installation попытается поменять пароль, mysql вам сообщит что:

SET PASSWORD has no significance for user ‘root’@’localhost’ as the authentication method used doesn’t store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.

Что можно примерно перевести как: Выполнять метод SET PASSWORD для ‘root’@’localhost’ нет смысла потому что выбранный метод авторизации не поддерживает сохранение данных авторизации. Если вы хотите изменить параметры авторизации используйте ALTER USER.

Читайте также:  Linux чем открыть pptx

Естественно, что метод авторизации unix_socket не поддерживает сохранение пароля, потому что он выполняет авторизацию не по паролю, а просто проверяет является ли текущий пользователь суперпользователем. Но и пропустить настройку пароля root если он не задан вы не можете, поэтому программа зациклится и не пустит вас дальше. Самый простой способ сделать это — использовать команду mysqladmin:

sudo mysqladmin password -u root -p

Если вы не хотите использовать mysqladmin, то можете сделать всё то же самое с помощью SQL запроса. Сначала необходимо подключится к MySQL и поменять метод авторизации и заодно пароль:

В окружении SQL выполните такую команду:

ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘ваш_пароль’;

Затем вы можете закрыть клиент MySQL используя команду:

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

Обратите внимание, что теперь вы не сможете подключится к mysql через sudo без пароля, так как теперь используется метод авторизации по паролю. Если вы хотите вернуть всё как было, после выполнения mysql_secure_installation, подключитесь к MySQL используя пароль и выполните:

ALTER USER ‘root’@’localhost’ IDENTIFIED WITH auth_socket;

Как удалить MySQL в Ubuntu

Удалить MySQL в Ubuntu 22.04 довольно просто. Если вы хотите просто удалить пакет, оставив конфигурацию используйте команду:

sudo apt remove mysql-server mysql-client

Если же вы хотите полностью удалить MySQL используйте команду purge:

Выводы

В этой статье мы рассмотрели как установить MySQL в Ubuntu 22.04, а также как выполнить первоначальную настройку и избежать возможных проблем.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Оцените статью
Adblock
detector