mremoteng 初步使用记

mremoteng 对我而言最大的优势特性就是配置可以使用数据库,这样我可以统一管理,而不是每个电脑都要配置一套。 前天下载了之后,无论是稳定版本还是预发布版本,包括最新的 nightly 版本,连接 mysql 数据库之后,不是表不存在, 就是莫名的字符错误。由于提示的错误简短的不知道具体是啥意思,就只好去拿源代码来看,开源的好处不满意就去改善它。

为此,我还安装了占用磁盘空间很大的 vs 以及. net 开发环境。

关于 mysql 数据库的问题,主要聚焦在以下方面:

  1. 数据库中的表不存在 目前(20231119)已经发布的版本,数据库中的表都需要自建的。github 的 issue 中提到的自建的脚本,版本比较老,会有 各种问题,列如字段不存在或者版本不对啥的(我没有测试过所有的建表配置),最新的开发版的代码则内置了建表脚本。
  2. 字段重复 由于 1 中的建表脚本的版本,可能某个表格的字段已经存在了,于是开发版编译出来的就没办法运行了。最后,我的解决办法是使用 开发版去创建表格。但发现也还是有问题,说版本不匹配之类的,刚开始我以为对 mysql 服务器的版本有要求,最后调试发现代码中 创建的初始化表格中的版本是 2.8,而代码中写死的当前代码配置是 3.0,只要修改源代码中的创建表格模板。然后接着发现插入数据 字段值要求非空而未传入变量,只好改改改。最后又发现同一个服务器中无法使用不同的数据库,就又改改改。源码在手,天下我有。
  3. 字符集 这个是很坑的一个内容,一般启动之后,我这边默认的中文,然后连接无法加入,表中也不存在。提示文字有问题,直到我默认的语言修改 为英文之后,完全的一个新的就不报错了。尝试加入发现又报错,才定位到数据库的字符集问题。看 issue 中说不支持 utf8mb4 之类的, 手动把数据库的字符集修改为 utf8mb4,包括表格, 列如下面的方式:
  4. alter database remoteng2 character SET utf8mb4; ALTER TABLE tblCons CONVERT TO CHARACTER SET utf8mb4;
  5. vcruntime140.dll 问题 编译后我拿到另外一台电脑上使用,结果发现缺少 vcruntime140.dll,下载个 vc 的运行库的包吧,还是报告这个问题,最后发现是 puttyng 依赖这个,发现已经发行的版本不需要依赖,就复制过来,结果又提示 – pwdfile 之类的问题,看来还是要用开发版自带的那个 puttyng。最后 发现这个竟然依赖的是 x86 版本,而不是 x86_64 的版本。
  6. 缺陷 我没有思考 mremoteng 的数据库设计,但我注意到,保存到数据库中的连接,id 的值都较大,我不清除这个是每次都删了老的重新插入新的还是 在之前的老的 id 上修改变动。我也不喜爱将各个配置的参数都作为一个字段去定义,我更喜爱将配置的参数作为一个长长的 json 格式的字符串之类 的去写入到数据库中,这样往后做兼容升级会比较容易。
© 版权声明

相关文章

暂无评论

none
暂无评论...