Процесс переноса сервера MySQL/MariaDB Server
Ниже описано выполнение переноса из MySQL в 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 на имя пользователя root исходного сервера MySQL Server. •SRCDBNAME на имя исходной базы данных ESET PROTECT, резервную копию которой нужно создать. •BACKUPFILE на путь к файлу, в котором будет храниться резервная копия. •TARGETROOTLOGIN на имя пользователя root целевого сервера MySQL Server. •TARGETHOST на адрес целевого сервера базы данных. •TARGETDBNAME на имя целевой базы данных ESET PROTECT (после переноса). •TARGETLOGIN на имя нового пользователя базы данных ESET PROTECT на целевом сервере базы данных. •TARGETPASSWD на пароль для нового пользователя базы данных ESET PROTECT на целевом сервере базы данных. |
Необязательно выполнять инструкции SQL через командную строку. Если доступно средство графического интерфейса, вы можете использовать уже известное приложение.
1.Остановите службу ESET PROTECT Server.
2.Создайте полную резервную копию исходной базы данных ESET PROTECT (базы данных, которую нужно перенести):
mysqldump --host SRCHOST --disable-keys --extended-insert --routines -u SRCROOTLOGIN -p SRCDBNAME > BACKUPFILE |
3.Подготовьте пустую базу данных на целевом сервере MySQL Server:
Убедитесь, что кодировки символов базы данных на исходном и целевом серверах совпадают. Если выполнить перенос в базу данных с другой кодировкой символов, служба сервера ESET PROTECT работать не будет. |
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=CREATE DATABASE TARGETDBNAME /*!40100 DEFAULT CHARACTER SET utf8 */;" |
В системах Linux вместо кавычек (") используйте знак апострофа ('). |
4.Восстановите базу данных на целевом сервере MySQL Server, чтобы она стала пустой базой данных по умолчанию:
mysql --host TARGETHOST -u TARGETROOTLOGIN -p TARGETDBNAME < BACKUPFILE |
5.Создайте пользователя базы данных ESET PROTECT на целевом MySQL Server:
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=CREATE USER TARGETLOGIN@'%' IDENTIFIED BY 'TARGETPASSWD';" |
Рекомендуемые символы для TARGETLOGIN: строчные буквы ASCII, цифры и символ подчеркивания _.
Рекомендуемые символы для TARGETPASSWD: только символы ASCII, в том числе прописные и строчные буквы ASCII, цифры, пробелы и специальные символы. Не используйте символы, не относящиеся к стандарту ASCII, фигурные скобки ({}) и символ @.
Обратите внимание, что если не следовать приведенным выше рекомендациям по использованию символов, у вас могут возникнуть проблемы с подключением к базе данных или в последующих шагах вам придется использовать специальные escape-символы во время изменения строк подключения к базе данных. Этот документ не содержит правила использования escape-символов.
6.Предоставьте надлежащие права доступа пользователю базы данных ESET PROTECT на целевом MySQL Server:
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=GRANT ALL ON TARGETDBNAME.* TO TARGETLOGIN;" |
В системах Linux вместо кавычек (") используйте знак апострофа ('). |