Как перейти на MySQL 8.0?

У меня есть сайт Drupal 8.6.10 на сервере Ubuntu 18.04 с MySQL 5.7.25

Я хочу обновить MySQL до версии 8.0

Вот шаги, за которыми я следовал:

  1. Я сделал резервную копию своей базы данных.

  2. Я удалил MySQL с моего сервера с помощью команд:

    $ sudo systemctl stop mysql
    $ sudo apt remove mysql-*
    $ sudo apt purge mysql-*
    $ sudo apt autoremove
    $ sudo dpkg -l | grep mysql | grep ii
    
  3. Я добавил хранилище с помощью команды:

    $ wget https://repo.mysql.com//mysql-apt-config_0.8.12-1_all.deb
    
  4. Я установил пакет с помощью команды:

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

Моя проблема:

  1. Я устанавливаю MySQL с помощью команды:

    $ sudo apt update
    $ sudo apt install mysql-server
    

Когда я делаю шаг 5, он устанавливает MySQL 5.7, почему он не устанавливает версию 8?

1 ответ

Решение

В основном mysql-apt-config_0.8.12-1_all.deb - это пакет, который добавляет хранилище и ключ MySQL. Кажется, что при установке этого пакета вы где-то ошиблись. Вы можете сделать то, что делает этот пакет deb вручную.

  • Прежде всего создайте новый текстовый файл с привилегиями sudo:

    sudo nano /etc/apt/sources.list.d/mysql.list
    
  • Добавьте эти строки (замените bionic на ваш дистрибутив):

    deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-apt-config
    deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-8.0
    deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-tools
    #deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-tools-preview
    deb-src http://repo.mysql.com/apt/ubuntu/ bionic mysql-8.0
    

    Вы можете комментировать / раскомментировать репозиторий в соответствии с требуемыми пакетами. Сохраните и выйдите, используя Ctrl+X, а затем Y. Тогда беги

    sudo apt update
    
  • Вы получите ошибку, как

    Err:1 http://repo.mysql.com/apt/ubuntu bionic InRelease                        
      The following signatures couldn't be verified because the public key is not available: NO_PUBKEY <some key value>
    
  • Добавьте этот ключ, используя

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <key value>
    
  • Обновите и установите MySQL

    sudo apt update
    sudo apt install mysql-server
    
$ sudo systemctl stop mysql
$ sudo apt remove mysql-*
$ sudo apt purge mysql-*
$ sudo apt autoremove
$ sudo dpkg -l | grep mysql | grep ii
$ wget https://repo.mysql.com//mysql-apt-config_0.8.12-1_all.deb
$ sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
$ sudo sed -i 's/bionic/'$(lsb_release -sc)'/' /etc/apt/sources.list.d/mysql.list
$ sudo apt update

Эта последовательность команд у меня сработала. Проверить версию перед установкой

sudo apt-cache policy mysql-server

Но я все еще не знаю, как удалить другие пакеты из кеша.

Для завершения установки ввод

sudo apt install mysql-server
Другие вопросы по тегам