问题
解决方案
前提条件
- 必须安装源和目标 MySQL 服务器实例
- 目标 MySQL 服务器实例必须与源 MySQL 服务器实例的版本相同或更高,不支持降级
网络和文件传输要求
- 如果源机器和目标机器在不同的网络上,必须手动将备份文件传输到目标机器上
- 如果源计算机和目标计算机位于同一网络,则可从源计算机或目标计算机运行迁移命令(确保 ping 连接有效)
替换占位符
在命令中,按如下方式替换占位符:
SRCHOST→ 源 MySQL 服务器的主机名或 IP 地址SRCROOTLOGIN→ 源 MySQL 服务器上根账户的用户名SRCEEIDBNAME→ 源 ESET Inspect Server 数据库的名称TARGETHOST→ 目标 MySQL 服务器的主机名或 IP 地址TARGETROOTLOGIN→ 目标 MySQL 服务器上根帐户的用户名
使用命令行将 ESET Inspect Server MySQL 数据库迁移到不同的 MySQL Server 实例或版本
要使用命令行将 ESET Inspect Server MySQL 数据库迁移到不同的 MySQL Server 实例或版本,请按照以下步骤操作:
-
停止 ESET Inspect Server 服务。
-
找到 MySQL 二进制文件。根据安装的版本,导航到 MySQL
bin目录:- MySQL 5:
C:\Program Files\MySQL\MySQL Server 5.7\bin
要在命令提示符中导航到bin目录,请运行
cd C:\Program Files\MySQL\MySQL Server 5.7\bin - MySQL 8:
C:\Program Files\MySQL\MySQL Server 8\bin。
要在命令提示符中导航到bin目录,请运行
cd C:\Program Files\MySQL\MySQL Server 8\bin
- MySQL 5:
-
创建源 ESET Inspect Server 数据库的完整备份。从
bin目录,在 Command Prompt 中运行mysqldump --host=SRCHOST --user=SRCROOTLOGIN -p --events --opt --routines --triggers --databases SRCEEIDBNAME --default-character-set=utf8mb4 --result-file="C:\USERS\public\BACKUPFILE.sql"你可以直接在命令中包含
SRCROOTLOGIN的密码:将-p替换为-pYourPassword。如果不包含密码,运行命令后会提示输入密码。 -
调整目标 MySQL 服务器的 MySQL 配置:编辑 my.ini 文件 根据你的 MySQL 版本。
-
登录目标 MySQL 服务器。在命令提示符中运行
mysql --host=TARGETHOST --user=TARGETROOTLOGIN -p可以直接在命令中包含
TARGETLOGIN的密码:将-p替换为-pYourPassword。如果不包含密码,运行命令后会提示输入密码。 -
创建清除表空间。在
mysql>提示符下,运行CREATE TABLESPACE `purge_ts` ADD DATAFILE 'purge_ts1.ibd' ENGINE=INNODB; -
在目标 MySQL 服务器上还原 ESET Inspect 数据库。退出
mysql>提示符:运行exit;。在命令提示符下运行mysql --host=TARGETHOST --user=TARGETROOTLOGIN -p < "C:\USERS\public\BACKUPFILE.sql"可以直接在命令中包含
TARGETLOGIN的密码:将-p替换为-pYourPassword。如果不包含密码,运行命令后会提示输入密码。如果备份文件的位置不是
C:\USERS\public\BACKUPFILE.sql,请用备份文件的实际位置替换命令中的位置。 -
根据设置完成迁移:
-
如果目标 MySQL 服务器使用与源服务器相同的主机名/IP 地址和数据库名称,请重新启动 ESET Inspect Server 服务。
-
如果目标 MySQL 服务器主机名/IP 地址、端口或数据库名称与源不同,请在修复/更改模式下运行 ESET Inspect Server 安装程序。保持所有设置不变,但更新 MySQL 数据库连接详细信息(主机名/IP 地址、端口、数据库名称)。
-