Как установить MySQL 8.0 (8.0.15+) на Ubuntu 18.04 [так же для DigitalOcean]

99
15 февраля 2021, 20:50

У меня возникла проблема: Который раз пытаюсь установить MySQL на Ububtu-server (18.04) и постоянно какие-то ошибки. Подскажите пожалуйста пошаговую установку. А так же как дистанцинно подключаться к MySQL?

Answer 1

Данный вариант 3 раза прогонялся на серверах DigitalOcean и OVH.
В случае, если есть у вас примечания/дополнения - пишите об этом в комментарии.

Инструкция по установке MySQL 8.0.15+ на Ubuntu 18.04:

Удаление MySQL (если накосячили)

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

sudo -i
service mysql stop
killall -KILL mysql mysqld_safe mysqld
apt-get --yes purge mysql-server mysql-client
apt-get --yes autoremove --purge
apt-get autoclean
deluser --remove-home mysql
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
exit
Начало установки MySQL
  1. Вводим команду, которая загружает списки пакетов из репозиториев и «обновляет» их, чтобы получить информацию о новейших версиях пакетов и их зависимостях.
sudo apt update
  1. Вводим команду, которая извлечет новые версии пакетов, существующих на компьютере:
sudo apt upgrade
  1. Скачиваем файл с помощью wget:
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
  1. Чтобы проверить, что файл скачался:
ls

Файл будет называться mysql-apt-config_0.8.15-1_all.deb

  1. Запускаем распаковку и установку файла:
sudo dpkg -i mysql-apt-config*
  1. У нас появится окно, в котором надо лишь проверить, что стоит MySQL Server & Cluster (Currently selected: mysql-8.0). В случае, если стоит 5.* версия, то нажмите Enter по данной строке и выберите 8.0.

Если все верно - выбирает Ok в самом низу

  1. Дальше часто вылезает ошибка:
Warning: apt-key should not be used in scripts (called from postinst
maintainerscript of the package mysql-apt-config)

Это нормально. Дальше узнаете почему это так происходит.

  1. Вводим команду:
apt update

У нас выводится ошибка о том, что у ключа (В основном это ключ 8C718D3B5072E1F5) истек срок службы:

  1. Чтобы решить проблему с ключем пишем следующую строчку:
sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 8C718D3B5072E1F5

Если у вас ключ в Пункте 8 другой - замените концовку на Ваш ключ.

  1. Дальше вводим следующие команды:
sudo apt update
sudo apt upgrade

Возможно этого появится наше окошко из пункта 6 два раза, где мы просто жмем Ok

И может появиться вот такое окошко, где мы просто жмем Keep the local version currently installed

  1. Устанавливаем MySQL server:
sudo apt install mysql-server
  1. Должно открыться окно, где мы должны ввести пароль новый Администратора (root) для MySQL (пароль от Ubuntu и от MySQL могут быть разные):

  2. Далее просто жмем Ok

  3. В окне, где будет рассказываться про новую аутификацию MySQL 8 - жмем **Use Strong Password Encryption (Recommended)**

  1. После того как розовые окошки закончились, вводим следующую команду:
 mysql_secure_installation

Вводим наш пароль для MySQL.

Дальше на вопросы лично я ответил следующим образом:

Validate pass - N
Change pass for root - n
Anonym users - y
Remote root access - y
Test tables - y
Reload privilige - y
Финальная часть
  1. Вводим команду для проверки, что MySQL работает:
systemctl status mysql
  1. Вводим команду, чтобы проверить, что MySQL 8.0 установлен, а не MySQL5.*:
mysqladmin -u root -p version

Зайти в MySQL:
  1. Просто вводим:
mysql -u root -p
Дополнительно(Дистанционное подключение к MySQL):
  1. Заходим в MySQL:
mysql -u root -p
  1. Создаем нового юзера.:
CREATE USER `username`@`%` IDENTIFIED BY `password`;
GRANT ALL PRIVILEGES ON * . * TO `user`@`%`;
FLUSH PRIVILEGES;

% - этот пользователь может подключаться как дистанционно, так и локально;
localhost - этот пользователь может только локально подключаться к MySQL * . * . * . * - этот пользователь может подключаться только с определенного IP.

3 - Вводим команду:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Открывается окно:

Просто дописываем bind-address = 0.0.0.0. (чтобы с любого IP можно было подключиться)

Закрываем окно и сохраняем изменения с помощью:

Ctrl + X (чтобы выйти из файла)
y (чтобы подтвердить изменения)

Reference:
Установка MySQL с форма DigitalOcean
Удаление полностью MySQL с Ubuntu

READ ALSO
Изменение текста в PSD средствами php

Изменение текста в PSD средствами php

столкнулся со следующей задачей: Необходимо автоматизировать печать сертификата, в котором уникальные (имя, промокод, и даты действия сертификата)Сертификат...

126
PHP | Удалить тэги со строки

PHP | Удалить тэги со строки

У меня есть вот такое описание

119