Как подружить Mamp Pro 6.9 и MySQL 8.3

Как подружить Mamp Pro 6.9 и MySQL 8.3

Mamp Pro очень удобен для разработчика. Все проверить локально перед загрузкой на хостинг — что еще надо. 
Но Mamp Pro 6.9 содержит MySQL 5. А уже новая версия Joomla 6 требует MySQL 8.
Что делать? Покупать Mamp Pro 7 с MySQL 8 за 99 евро? Или справится самому?

Вот инструкция:

Перенос базы данных Joomla на MySQL 8

(MAMP PRO 6.9 + macOS Monterey)

Шаг 1. Экспорт старой базы данных (Бэкап)

  1. В исходном MAMP PRO (когда еще работал MySQL 5.7) мы зашли в phpMyAdmin.
  2. Выбрали базу данных baza.
  3. Через вкладку Export (Экспорт) скачали резервную копию в формате .sql на компьютер.

Шаг 2. Скачивание и установка сервера MySQL 8

Поскольку встроенный в MAMP PRO 6.9 функционал не поддерживает переключение на MySQL 8, а утилита Homebrew выдала сетевую ошибку (Could not resolve host), мы установили сервер вручную:

  1. Зашли через браузер на официальный сайт mysql.com.
  2. Выбрали бесплатную версию MySQL Community Server для macOS.
  3. Скачали DMG-архив (выбрав версию под процессор вашего Mac: ARM для M1/M2/M3 или x86 для Intel).
  4. Запустили установщик .pkg из DMG-файла.
  5. Важно: При установке выбрали метод шифрования Use Legacy Password Encryption (для совместимости со старыми версиями PHP в MAMP) и задали новый пароль для пользователя root.

Шаг 3. Конфигурация MAMP PRO 6.9

Чтобы старый встроенный MySQL и новый системный MySQL 8 не конфликтовали за порт 3306:

  1. Открыли MAMP PRO.
  2. В левом боковом меню в блоке SERVERS выбрали пункт MySQL.
  3. Сняли галочку с пункта «Включить MySQL сервер» (MAMP перестал запускать версию 5.7).
  4. Запустили веб-сервер (Apache/Nginx) кнопкой Start.

Шаг 4. Настройка связи в Joomla (configuration.php)

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

  1. Открыли файл configuration.php в корне сайта.
  2. Изменили три ключевые строчки:php

public $host = '127.0.0.1'; // Именно IP, чтобы Mac не путал сокеты

public $user = 'root';      // Главный пользователь нового сервера

public $password = 'ВАШ_НОВЫЙ_ПАРОЛЬ_ОТ_MYSQL_8'; // Заданный на Шаге 2

Шаг 5. Установка менеджера баз данных (DBeaver)

Так как последняя версия MySQL Workbench 8.0.47 отказалась устанавливаться на старую macOS 12 Monterey, мы выбрали современную альтернативу — DBeaver:

  1. Скачали и установили бесплатную программу DBeaver Community dbeaver.io/download/.
  2. Создали новое подключение MySQL с параметрами: Хост 127.0.0.1, Порт 3306, Пользователь root, Пароль от MySQL 8.
  3. При первом тесте соединения разрешили программе автоматически скачать необходимый драйвер.

Шаг 6. Создание базы и Импорт данных в DBeaver

  1. В левой панели DBeaver нажали правой кнопкой мыши на папку «Базы данных» и выбрали Создать -> База данных.
  2. Назвали её строго baza.
  3. Нажали правой кнопкой мыши на созданную базу baza, выбрали Инструменты (Tools) -> Исполнить сценарий SQL (Execute SQL script).
  4. Выбрали наш .sql файл бэкапа из Шага 1 и нажали Старт. Данные и структура таблиц успешно развернулись на MySQL 8.

Памятка по работе с базой данных в DBeaver/Workbench:

Если вам понадобится выполнить SQL-запрос вручную (например, обновить пароль пользователя на MD5), всегда выполняйте одно из двух правил, чтобы избежать ошибки No database selected:

  • Вариант А: Явно указывайте имя базы в коде перед таблицей:

sql UPDATE you_tab.jos8t_users SET password = MD5('новый_пароль') WHERE username = 'admin';

где — you_tab это префикс вашей базы

  • Вариант Б: Перед выполнением кода дважды кликните по названию базы baza в левом сайдбаре (чтобы оно выделилось жирным) или выберите базу в выпадающем списке на верхней панели инструментов.

 

Обо мне

bottom-logo

Я дизайнер. Здесь вы можете увидеть мои работы. Хорошо я делаю свою работу или не очень — судить вам.

Главное правило — вы никогда не увидите незаконченной работы. Только досконально отточенный проект можно выпускать в жизнь.

Калькулятор упаковки

Выберите язык

Выберите язык

Настройки cookies
Мы используем cookies для удобной работы сайта и анонимной статистики посещений. Если вы отклоните cookies, часть функций сайта может работать иначе.
Принять все
Отклонить все
Read more
Analytics
Tools used to analyze the data to measure the effectiveness of a website and to understand how it works.
Google Analytics
Accept
Decline
Advertisement
If you accept, the ads on the page will be adapted to your preferences.
Google Ad
Accept
Decline
Save