Процедура міграції для MySQL/MariaDB Server
Нижче наведено покрокові інструкції з переходу з одного екземпляра MySQL на інший. Ті самі кроки застосовуються для переходу з MySQL на MariaDB. |
Попередні вимоги відсутні
•Мають бути інстальовано екземпляр-джерело й цільовий екземпляр MySQL Server. Їх можна розмістити на різних комп’ютерах.
•Інструменти MySQL повинні бути інстальовані принаймні на одному з комп’ютерів (клієнті mysqldump і mysql).
Корисні посилання
•https://dev.mysql.com/doc/refman/8.0/en/copying-databases.html
•https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html
•https://dev.mysql.com/doc/refman/8.0/en/mysql.html
Процедура перенесення
У наведених нижче командах, файлах конфігурації й операторах SQL замінюйте: •SRCHOST на адресу вихідного сервера баз даних; •SRCROOTLOGIN на ім’я кореневого користувача вихідного сервера MySQL; •SRCDBNAME на ім’я джерела бази даних ESET PROTECT для резервного копіювання; •BACKUPFILE на шлях до файлу резервної копії; •TARGETROOTLOGIN на ім’я кореневого користувача цільового сервера MySQL; •TARGETHOST на адресу цільового сервера баз даних; •TARGETDBNAME на назву цільової бази даних ESET PROTECT (після перенесення); •TARGETLOGIN на ім’я нового користувача бази даних ESET PROTECT на цільовому сервері бази даних; •TARGETPASSWD на пароль нового користувача бази даних ESET PROTECT на цільовому сервері бази даних. |
Запускати наведені нижче оператори SQL за допомогою командного рядка не потрібно. Якщо інстальовано графічний інтерфейс, ви можете використовувати вже відому програму.
1.Зупиніть службу сервера ESET PROTECT.
2.Створіть повну резервну копію вихідної бази даних ESET PROTECT (перенесення якої виконується):
mysqldump --host SRCHOST --disable-keys --extended-insert --routines -u SRCROOTLOGIN -p SRCDBNAME > BACKUPFILE |
3.Підготуйте порожню базу даних на цільовому сервері MySQL:
Переконайтеся, що кодування символів бази даних на сервері-джерелі й цільовому сервері збігаються. Перенесення в базу даних з іншим кодуванням символів унеможливить запуск служби сервера ESET PROTECT. |
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=CREATE DATABASE TARGETDBNAME /*!40100 DEFAULT CHARACTER SET utf8 */;" |
У системах Linux використовуйте символ апострофа (’) замість лапок ("). |
4.Відновіть базу даних на цільовому сервері MySQL до попередньо підготовленої порожньої бази даних:
mysql --host TARGETHOST -u TARGETROOTLOGIN -p TARGETDBNAME < BACKUPFILE |
5.Створіть користувача бази даних ESET PROTECT на цільовому сервері MySQL:
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=CREATE USER TARGETLOGIN@'%' IDENTIFIED BY 'TARGETPASSWD';" |
Рекомендовані символи для використання в полі TARGETLOGIN: Малі літери ASCII, цифри й символ підкреслення _.
Рекомендовані символи для використання в полі TARGETPASSWD: Дозволено використовувати лише символи ASCII, зокрема великі й малі літери, цифри, пробіли та спеціальні символи. Не використовуйте інші символи, окрім ASCII, фігурні дужки «{}» і знак «@»
Зауважте, що в разі недотримання наведених вище рекомендацій у вас можуть виникнути проблеми з підключенням до бази даних, а під час подальшої зміни рядка підключення до бази даних ви не зможете використовувати спеціальні символи. Правила екранування символів не наведено в цьому документі.
6.Надайте відповідні права доступу для користувача бази даних ESET PROTECT на цільовому сервері MySQL:
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=GRANT ALL ON TARGETDBNAME.* TO TARGETLOGIN;" |
У системах Linux використовуйте символ апострофа (’) замість лапок ("). |