升级 WinEIM Server

从 WinEIM Server 9 升级到 HelpChat Server 11 的完整步骤,包括数据库导出导入、数据表迁移和头像文件复制。

升级前必读

请在一台没有安装过 WinEIM Server 的电脑上安装 HelpChat Server,或将已安装的 WinEIM Server 后台服务全部停掉后再安装。两套 Server 的 MySQL 端口均为 6306,同时运行会严重冲突。

说明

  • WinEIM Server 9.5 用户请先自行升级到 9.9 系列(9.9 压缩包中有升级说明),再执行以下步骤。
  • 部门、帐号、帐号名备注、群、部门与帐号间的可见权限,都可以平滑导入到 HelpChat Server。
  • HelpChat Server 无法兼容 WinEIM 的消息格式,原所有消息和文件收发记录无法导入。

一、导出 WinEIM 数据库

打开命令行,进入 WinEIM 的 MySQL bin 目录:

bash
cd C:\WinEIM Server\imserver\mysql\bin

导出 wineimsvr 数据库为 SQL 文件:

bash
mysqldump -u root --port=6306 -p wineimsvr > wineimsvr.sql

输入密码后即开始导出,完成后在当前目录下生成 wineimsvr.sql 文件。将此文件复制到 HelpChat Server 的 MySQL bin 目录中:

text
C:\HelpChat Server\imserver\mysql\bin

二、导入数据到 HelpChat Server

打开命令行,进入 HelpChat Server 的 MySQL bin 目录并登录:

bash
cd C:\HelpChat Server\imserver\mysql\bin
mysql -u root --port=6306 -p

输入默认密码 123456 后,依次执行以下三条命令创建数据库并导入数据:

sql
create database wineimsvr CHARSET=utf8 COLLATE=utf8_unicode_ci;
use wineimsvr;
source wineimsvr.sql;

三、转换字符编码

逐行执行以下命令,将编码格式转换为 utf8mb4:

sql
ALTER DATABASE wineimsvr CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

ALTER TABLE imuser CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

ALTER TABLE imuser CHANGE account account VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

ALTER TABLE imuser CHANGE name name VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

ALTER TABLE imuser CHANGE `show` `show` VARCHAR(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

四、迁移数据表

逐条执行以下 SQL 命令,将 WinEIM 的数据导入到 HelpChat 的数据表中。每条命令为完整的一行,回车执行后可看到导入条数。

部门表:

sql
insert into `helpchatsvr`.`help_dept`( `did`, `pdid`, `name`, `order`, `regswitch`, `permission` ) select `did`, `pdid`, `name`, `displayorder`, `regswitch`, `permissioninfo` from `wineimsvr`.`imdept`;

部门帐号关系表:

sql
insert into `helpchatsvr`.`help_deptuser`( `iid`, `uid`, `did`, `order` ) select `rid`, `uid`, `did`, `sortid` from `wineimsvr`.`imdeptuser`;

帐号表:

sql
insert into `helpchatsvr`.`help_user`( `uid`, `account`, `password`, `salt`, `name`, `shows`, `sex`, `permission`, `createtime`, `lastlogin` ) select `uid`, `account`, `password`, `salt`, `name`, `show`, `sex`, `permission`, `createtime`, `lastlotime` from `wineimsvr`.`imuser`;

备注表:

sql
insert into `helpchatsvr`.`help_remark`( `rid`, `ouid`, `uid`, `remark`, `dtime` ) select `rid`, `ouid`, `uid`, `remark`, `dtime` from `wineimsvr`.`imremark`;

群表:

sql
insert into `helpchatsvr`.`help_club`( `cid`, `name`, `shows`, `rootuid`, `maxuser`, `createtime`, `deleted` ) select `cid`, `name`, `publics`, `rootuid`, `maxuser`, `createtime`, `deleted` from `wineimsvr`.`imclub`;

群成员表:

sql
insert into `helpchatsvr`.`help_clubuser`( `rid`, `cid`, `uid`, `type` ) select `rid`, `cid`, `uid`, `type` from `wineimsvr`.`imclubuser`;

五、开启数据表自动重建

打开 HelpChat Server 根目录下 config\mysql.ini,在最后加入 checktable = 1:

configmysql.ini
[mysql]
host = 127.0.0.1
port = 6306
user = root
pswd = 123456
db   = helpchatsvr
dbex = helpchatsvrex
charset = utf8mb4
checktable = 1

六、迁移用户头像

将 WinEIM 的用户头像文件:

text
C:\HelpChat Server\imdata\res\photo

复制到 HelpChat Server 的以下目录中:

text
C:\HelpChat Server\imdata\user

七、升级完成

以上步骤全部完成后,重启 HelpChat Server 后台服务,即可使用 HelpChat 桌面或手机客户端,用原来 WinEIM 上的帐号登录。

注意

请确保 HelpChat Server 的版本号为 11.1.0 或以上版本。

提示

如需继续升级到更新版本,请依次参阅 升级 HelpChat Server 11 → 升级 HelpChat Server 12。