Обновление mySQL с версии 5.7 до 8.0

update mysql
  1. Сперва стоит ознакомиться с нюансами, которые следует учитывать при обновлении с версии 5.7 до 8.0
  2. Так же, стоит воспользоваться инструментом для проверки готовности обновления базы данных — Update Checker

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

  • Создаем резервную копию данных

Создание резервной копии данных в MySQL можно выполнить с использованием инструмента mysqldump, который поставляется вместе с MySQL. Этот инструмент позволяет экспортировать базу данных или выбранные таблицы в файл SQL, который затем можно использовать для восстановления данных. Вот примеры использования mysqldump:

mysqldump -u username -p --all-databases > backup.sql

Где:

  • -u username: указывает имя пользователя базы данных.
  • -p: запрашивает пароль пользователя (вас попросят ввести пароль после выполнения команды).
  • --all-databases: указывает, что нужно создать резервную копию всех баз данных.

Создание резервной копии конкретной базы данных:

mysqldump -u username -p database_name > backup.sql

Где database_name — это имя вашей базы данных.

Создание резервной копии конкретных таблиц:

mysqldump -u username -p database_name table1 table2 > backup.sql

Где table1 и table2 — это имена таблиц.

Восстановление из резервной копии:

mysql -u username -p database_name < backup.sql

Где database_name — это имя базы данных, а backup.sql — ваш файл резервной копии.

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

  • Убеждаемся в наличии резервной копии конфигурационных файлов

Cохраняем резервные копии конфигурационных файлов MySQL, таких как my.cnf или my.ini.

  • Устанавливаем новую версию MySQL

Установка MySQL 8.0 на Linux (Ubuntu):

Обновите информацию о доступных пакетах:

sudo apt-get update

Установите MySQL Server:

sudo apt-get install mysql-server

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

sudo systemctl start mysql

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

sudo mysql_secure_installation

В процессе выполнения вы будете отвечать на вопросы и устанавливать пароль для пользователя root MySQL.

Установка MySQL 8.0 на Windows:
— Перейдите на официальный сайт MySQL и загрузите установочный файл для Windows: https://dev.mysql.com/downloads/installer/
— Запустите установщик и следуйте инструкциям. Выберите «Developer Default» для установки сервера MySQL, а также других инструментов, таких как MySQL Workbench.
— В процессе установки вам могут быть предложены параметры конфигурации сервера. Убедитесь, что вы запомнили пароль для пользователя root MySQL.
— Завершите установку, следуя указаниям установщика.
— MySQL Server должен автоматически запуститься после установки. Если нет, вы можете запустить его с помощью MySQL Notifier или службы Windows.

  • Используем MySQL Shell для обновления схемы

MySQL 8.0 включает в себя MySQL Shell, который предоставляет утилиту mysqlsh. Запустите его и введите следующие команды:

mysqlsh 
\sql
\source path/to/mysql-upgrade.sql

Вместо path/to/mysql-upgrade.sql укажите путь к скрипту обновления, который предоставляется в составе дистрибутива MySQL.

  • Обновление и анализ данных

После обновления схемы MySQL, переносим данные из старой версии в новую, используя утилиты, такие как mysqldump или mysql_upgrade.

  • Настраиваем конфигурацию

Анализируем и адаптируем конфигурационные файлы (например, my.cnf или my.ini) для новой версии MySQL.

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

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

Установка Redis на MacOS, Debian, Ubuntu, Centos

MacOS (Catalina)

(Если вам необходимо установить Redis на Mac c процессором семейства M — есть отдельная инструкция)

Открываем терминал (Terminal.app) и обновляем локальные пакеты:

> brew update

Устанавливаем Редис одной командой

> brew install redis

В процессе успешной установки увидим подобные сообщения:

$ brew install redis
==> Downloading https://homebrew.bintray.com/bottles/redis-5.0.6.catalina.bottle
==> Downloading from https://akamai.bintray.com/8a/8ae4fed5494daa20391ab16d4be0b
################################################################## 100.0%
==> Pouring redis-5.0.6.catalina.bottle.tar.gz
==> Caveats
To have launchd start redis now and restart at login:
brew services start redis
Or, if you don’t want/need a background service you can just run:
redis-server /usr/local/etc/redis.conf
==> Summary
/usr/local/Cellar/redis/5.0.6: 13 files, 3.1MB

Redis успешно установлен. Запустим процесс, чтобы он работал в бекграунде:

> brew services start redis

В случае успешного запуска увидим подобное сообщение:

==> Successfully started redis (label: homebrew.mxcl.redis)

Это все. Процесс установки и запуска завершен.
Проверим работоспособность запущенного редис-сервиса

redis-cli ping

Если видим вывод “PONG” значит все прошло успешно и редис готов к работе.

Linux (Debian, Ubuntu)

Открывает терминал, переходим в домашнюю папку для скачивания архива с Редисом:

$ cd ~/

Скачиваем архив с установочными файлами Redis (последняя стабильная версия):

$ curl -s -o redis-stable.tar.gz "http://download.redis.io/redis-stable.tar.gz"

Далее выполняем команды под рутом — командой получаем права:

$ sudo su

Создаем необходимую папку (флаг -p означает, что создаем ее только в случае если ее нету)

# mkdir -p /usr/local/lib/

И назначаем права

# chmod a+w /usr/local/lib/

Разархивирует в нее архив с файлами Редис:

# tar -C /usr/local/lib/ -xzf redis-stable.tar.gz

Удаляем файл архива — он нам больше не нужен

# rm redis-stable.tar.gz

Переходим в папку с файлами Редиса

# cd /usr/local/lib/redis-stable/

И устанавливаем его (так как это установочные файлы написанные на языке C)

# make && make install

Проверим уставлен ли Редис, выведя его версию

# redis-cli --version

Далее, как рекомендуется в официальной документации, запускаем скрипт конфигурирования. Перейдем в его папку

# cd /usr/local/lib/redis-stable/utils/

И запускаем его

# sh install_server.sh

В процессе работы скрипт будет задавать вопросы (например, на каком порте будет работать Редис сервер). Вполне достаточно оставлять ответы по умолчанию — жмем все время Enter.
В результате скрипт настроит редис, соберет конфигурации, сформирует и добавит сервис в автозагрузку
После этого можно запустить Редис командой

# service redis_6379 start

Linux (CentOS)

Открывает терминал, обновляем установленные пакеты (для некоторых версий может быть важно)

$ sudo yum -y update

Убеждаемся, что необходимые для установки Редис пакеты и утилиты установлены

$ sudo yum -y install scl-utils
$ sudo yum -y install centos-release-scl devtoolset-7 llvm-toolset-7
$ sudo scl enable devtoolset-7 llvm-toolset-7 bash
$ sudo yum -y install gcc gcc-c++ make

Переходим в домашнюю папку для скачивания архива с Редисом:

$ cd ~/

Скачиваем архив с установочными файлами Redis:

$ curl -s -o redis-stable.tar.gz "http://download.redis.io/redis-stable.tar.gz"

Далее выполняем команды под рутом — командой получаем права:

$ sudo su

Создаем необходимую папку (флаг -p означает, что создаем ее только в случае если ее нету)

# mkdir -p /usr/local/lib/

И назначаем права

# chmod a+w /usr/local/lib/

Разархивирует в нее архив с файлами Редис:

# tar -C /usr/local/lib/ -xzf redis-stable.tar.gz

Удаляем файл архива — он нам больше не нужен

# rm redis-stable.tar.gz

Переходим в папку с файлами Редиса

# cd /usr/local/lib/redis-stable/

И устанавливаем его (так как это установочные файлы написанные на языке C)

# make && make install

Проверим уставлен ли Редис, выведя его версию

# redis-cli --version

Если, при этом, будет выведено сообщение об ошибке “command not found” — необходимо добавить /usr/local/bin в переменную среды PATH таким образом

# export PATH="$PATH:/usr/local/bin"

И вновь проверить успешно ли установлен Редис, как описано выше
Далее, как рекомендуется в официальной документации, запускаем скрипт конфигурирования. Перейдем в его папку

# cd /usr/local/lib/redis-stable/utils/

И запускаем его

# sh install_server.sh

Если в процессе будет выведена ошибка ”… This system seems to use systemd. Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry! “ — необходимо внести небольшое изменение в скрипт установки install_server.sh:

# nano install_server.sh

Закомментировать следующие строки

# bail if this system is managed by systemd
# _pid_1_exe=»$(readlink -f /proc/1/exe)»
# if [ «${_pid_1_exe##*/}» = systemd ]
# then
# echo «This systems seems to use systemd.»
# echo «Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!»
# exit 1
# fi
# unset _pid_1_exe

Сохранить файл и запустить его.
В процессе работы скрипт будет задавать вопросы (например, на каком порте будет работать Редис сервер). Вполне достаточно оставлять ответы по умолчанию — жмем все время Enter.
В результате скрипт настроит редис, сформирует конфигурации, сформирует и добавить сервис в автозагрузку
Проверим работу сервера
При этом сам сервис Редеем запускается командой

$ redis-cli

127.0.0.1:6379> ping
PONG

$ service redis_6379 start