Як оновити та перенести MySQL/MariaDB у ServBay
Огляд
У процесі локальної розробки може виникнути необхідність змінити стандартну версію бази даних MySQL чи MariaDB у середовищі ServBay – наприклад, щоб відповідати вимогам проєкту або скористатися новими функціями й оновленнями безпеки. Цей документ пропонує чітку й детальну покрокову інструкцію, що допоможе безпечно виконати ці дії, включаючи критично важливі етапи резервного копіювання та відновлення даних.
Сценарії використання
- Оновлення до найсвіжішої версії: Отримайте нові можливості, покращення продуктивності та виправлення у сфері безпеки.
- Тестування сумісності: Перевірте роботу застосунків із різними версіями баз даних.
- Задоволення залежностей проєкту: Деякі проєкти можуть вимагати конкретної версії СУБД.
Передумови
- ServBay вже встановлено й запущено.
- Маєте базові навички роботи в терміналі.
- Відомий пароль користувача
root
для бази даних. - Є достатньо місця на диску для встановлення нової версії й збереження резервної копії даних.
Покрокова інструкція
Далі на прикладі міграції з MariaDB 10.11 на MariaDB 11.3 пояснюється процес перемикання. Для MySQL кроки аналогічні.
1. Створення резервної копії старої бази даних
Перед будь-яким перемиканням наполегливо рекомендується повністю зберегти резервну копію ваших поточних даних. Це дозволить уникнути втрати даних і забезпечить точку відновлення у разі проблем із сумісністю.
Для резервного копіювання стандартно використовується інструмент mysqldump
. Відкрийте свій термінал і виконайте команду:
bash
mysqldump -uroot -p --all-databases --opt > mariadb_backup.sql
1
-u root
: з'єднання з базою даних від імені користувачаroot
.-p
: буде запитано пароль користувачаroot
.--all-databases
: резервне копіювання всіх БД.--opt
: набір часто використовуваних опцій для генерації ефективної та портованої резервної копії, включаючи--add-drop-table
,--add-locks
,--create-command
,--disable-keys
,--extended-insert
,--lock-tables
,--quick
,--set-charset
та інші.> mariadb_backup.sql
: результат буде записано у файлmariadb_backup.sql
у поточній робочій директорії терміналу, зазвичай це ваш домашній каталог (~
).
Після запуску введіть пароль користувача root
для MariaDB. Дочекайтеся завершення процесу (вивід у терміналі буде мінімальним, поки не з'явиться знову запрошення командного рядка). Розмір резервної копії залежатиме від обсягу ваших даних. Переконайтеся, що файл mariadb_backup.sql
не порожній.
2. Встановлення потрібної версії
Відкрийте інтерфейс ServBay. Перейдіть на вкладку Пакети (Packages). У категорії баз даних знайдіть MariaDB або MySQL, виберіть потрібну нову версію (наприклад, MariaDB 11.3) і натисніть кнопку встановлення.
Дочекайтеся завершення завантаження та встановлення нової версії у ServBay.
3. Вимкнення старої версії бази даних
Після встановлення нової версії поверніться на вкладку Пакети (Packages). Знайдіть стару версію бази (наприклад, MariaDB 10.11), яка зараз запущена. Натисніть поряд з нею індикатор стану (зазвичай це зелений кружечок), щоб вимкнути її. Індикатор має стати сірим.
4. Увімкнення нової версії бази даних
Після вимкнення старої версії знайдіть встановлену нову базу (наприклад, MariaDB 11.3) і натисніть її індикатор стану для увімкнення. Коли індикатор стане зеленим — база даних запущена.
5. Призначення нової версії стандартною
Просто вимкнення старої та ввімкнення нової версії не зробить її за замовчуванням для всіх системних команд та інструментів. Тому оберіть потрібну версію стандартною у налаштуваннях ServBay.
Зайдіть у панель Налаштування (Settings) ServBay. У розділі налаштувань для баз даних знайдіть опцію вибору стандартної версії MySQL або MariaDB. Зі списку виберіть встановлену версію (наприклад, MariaDB 11.3).
Збережіть зміни, натиснувши кнопку Apply (Застосувати) внизу панелі.
6. Перевірка успішного вибору стандартної версії
Поверніться на вкладку Пакети (Packages) у ServBay. Біля нової версії (наприклад, MariaDB 11.3) повинна з’явитися чітка позначка, що це — стандартна версія.
7. Перевірка версії у терміналі
Відкрийте термінал і виконайте команду для перевірки зміни стандартної версії бази даних:
bash
mysql -V
1
Вивід має містити інформацію про нову версію, наприклад: mysql Ver 11.3.2-MariaDB ...
.
8. Відновлення резервної копії бази
Тепер відновіть ваші дані у нову версію бази даних. У терміналі виконайте команду:
bash
mysql -uroot -p < mariadb_backup.sql
1
-u root
: підключення як root-користувач.-p
: буде запитано пароль користувачаroot
.< mariadb_backup.sql
: вміст файлу буде передано у клієнт mysql для виконання SQL-інструкцій і тим самим — відновлення.
Після запуску введіть пароль від нової (зазвичай ідентичний старій) бази даних, якщо не змінювали його після першого запуску. Відновлення може зайняти певний час залежно від розміру копії.
Увага: Під час відновлення у терміналі можуть з’явитися попередження чи повідомлення про помилки, особливо якщо між версіями є серйозні відмінності, або ж резервна копія містить специфічні для старої версії опції (наприклад, певні рушії збереження, функції або директиви DEFINER
). У більшості випадків для розробки ці попередження можна ігнорувати, але для продакшн-оточень чи складних застосунків їх варто уважно розглянути.
9. Перевірка повного відновлення бази
Після завершення відновлення увійдіть у базу даних, щоб перевірити стан даних:
bash
mysql -uroot -p
1
Після введення паролю ви опинитесь у клієнті MariaDB/MySQL. Для перегляду списку баз даних виконайте команду:
sql
SHOW DATABASES;
1
Далі перевірте конкретні бази й таблиці, виконайте необхідні запити, щоб упевнитися у повноті даних та працездатності додатків.
Додаткові зауваження
- Сумісність даних: Попри прагнення зберегти сумісність, під час оновлення на мажорні версії (наприклад, з 5.7 на 8.0 або з MariaDB 10.x на 11.x) можуть виникати несумісності. Завжди ознайомлюйтесь із офіційною документацією щодо особливостей переходу між версіями.
- Файли налаштувань: Для кожної версії СУБД ServBay веде власний файл налаштувань (наприклад,
my.cnf
чиmy.ini
). Якщо ви змінювали файл конфігурації для старої версії, нові налаштування потрібно перенести вручну у новий файл. Зазвичай файли конфігурації зберігаються у спеціальних директоріях інсталяції ServBay, наприклад,/Applications/ServBay/etc/mysql/НОМЕР_ВЕРСІЇ/my.cnf
. - Продуктивність: У нових версіях можуть змінюватись стандартні налаштування або з’являтись оптимізації. Після перемикання протестуйте продуктивність застосунків і скоригуйте конфігурацію за необхідності.
- Порт: За замовчуванням бази даних у ServBay слухають стандартний порт (3306). Перемикання стандартної версії не впливає на порт. Але якщо потрібно використовувати кілька версій одночасно на різних портах, ці параметри слід вказати вручну у файлах конфігурації.
Часті питання (FAQ)
- Q: Нова версія бази даних не запускається, що робити?
- A: Перевірте індикатор стану та журнали у панелі пакетів ServBay. Журнали баз даних зазвичай розташовуються в каталозі встановлення ServBay у папках
var/log/mysql
чиvar/log/mariadb
. Перегляньте записи для визначення причин, таких як помилки в налаштуваннях, конфлікт портів або проблеми з правами доступу.
- A: Перевірте індикатор стану та журнали у панелі пакетів ServBay. Журнали баз даних зазвичай розташовуються в каталозі встановлення ServBay у папках
- Q: Під час відновлення БД виникають помилки, як діяти?
- A: Уважно прочитайте текст помилок. Типові проблеми — проблеми із кодуванням символів (можливо допоможе опція
--default-character-set=utf8mb4
дляmysqldump
), помилки із правами через директивиDEFINER
(їх можна масово виправити у файлі резервної копії), або пошкодження самого файлу. Для великих БД використовуйте спеціалізовані інструменти, такі якmydumper/myloader
, які дозволяють паралельне резервне копіювання й відновлення.
- A: Уважно прочитайте текст помилок. Типові проблеми — проблеми із кодуванням символів (можливо допоможе опція
- Q: Чи можна переключити версію без резервного копіювання й відновлення?
- A: Не рекомендується, особливо при переходах на мажорні версії. Пряме перемикання може спричинити проблеми із сумісністю, пошкодження чи втрату даних. Резервне копіювання та відновлення — найнадійніший спосіб збереження інформації.
- Q: Після зміни версії мій сайт чи додаток не підключається до БД. Що робити?
- A: Переконайтесь, що в ServBay нова версія бази успішно запущена й призначена стандартною. Перевірте налаштування підключення у застосунку: ім’я хоста (зазвичай
127.0.0.1
чиlocalhost
), порт (3306), логін і пароль.
- A: Переконайтесь, що в ServBay нова версія бази успішно запущена й призначена стандартною. Перевірте налаштування підключення у застосунку: ім’я хоста (зазвичай
Висновок
Дотримуючись даної інструкції, ви зможете безпечно й без ускладнень змінити стандартну версію MySQL або MariaDB у середовищі ServBay. Головна схема: резервне копіювання, встановлення й увімкнення нової версії, вибір її як стандартної у налаштуваннях ServBay та фінальне відновлення даних. Завжди приділяйте увагу створенню резервних копій та перевірці цілісності даних, а також перевіряйте працездатність застосунків після перемикання.