jumpServer用mysql代替默认的mariadb数据库

jumpServer用mysql代替默认的mariadb数据库

一、前言

学艺不精,玩不转mariadb---order by排序好慢中提到用jumpServer一键安装脚本安装完后,默认会安装mariadb数据库。想将其他项目用到的mysql数据库都迁移到mariadb里统一管理,无奈水平不行,解决不了mariadb排序查询慢的问题。最后只能把jumpServer的默认数据库换为mysql来解决,下面就介绍切换的过程。

二、分析操作

==众所周知==,jumpServer服务使用的是jmsctl.sh来控制启动和停止的。使用docker-compose容器编排,启动时,会调用compose里的yml文件,来运行各种容器服务。当你打开/opt/jumpserver-installer-v3.8.0/compose/文件夹时,会发现里面一堆编排文件,其中mysql.yml和mariadb.yml两个数据库的编排都存在。是不是瞬间觉得应该很简单,直接找到/opt/jumpserver/config/config.txt配置里面的变量就可以切换到mysql了?

image-20231026145624782image-20231026145624782

别高兴太早,打开config.txt后,你就会傻眼,上面涉及sql配置的就那么几行。其中DB_HOST直接就写上了mysql,这怎么玩?查了一遍官网,也没看到有用的消息。当然,如果直接自己起一个mysql容器,再到配置文件里按官方说的将配置信息改成自建的容器信息,就可以了。

学艺不精,玩不转mariadb---order by排序好慢

学艺不精,玩不转mariadb

一、背景

由于开发的项目较多,多个数据库版本又不同。虽然使用docker处理起来很方便,但是考虑到mysql和mariadb都没多大区别,就打算将手头上的使用mysql的数据库都迁移到mariadb上。正所谓“青出于蓝而胜于蓝”,mysql搞收费后,mariadb在不断地发展壮大,仅管用的不多,但是印象中==mariadb==还是不错的。

正好jumpServer用docker一键部署后就内置了mariadb,于是就把手上的项目数据库迁移到mariadb里,迁移过程很顺利。

  • 首先用navicat里先建一个xxx数据库
  • 再Execute sql file,选择对应的备份数据

    也可以用命令time gunzip < xxx_20231023170623.sql.gz | mysql -h 192.168.10.3 -P 33361 -u root xxx -p 来还原。

还原后以为就完事了,可以愉快的玩耍了。怎料故事才刚刚开始,测试查询竟然比原来的mysql还慢一倍(都是在docker容器里跑,都在同一服务器上跑)。

二、分析测试

首先检查了配置文件,两个数据库的配置文件都没啥好看的,都是默认配置。会不会是mariadb版本的问题或者jumpServer自带==降速==光环?于是拉了一个最新的mariadb镜像,直接按默认配置docker run,然后把数据库还原。经测试没任何改善,有点失望。

一些小问题的处理--生产系统与测试系统共存

一、前言

上次[jumpServer特殊案例之用nginx代理实现异地内网访问]: https://www.qipanet.com/itClass/285.html 中有提到有些小问题没处理,主要是跟jumpServer没太大关系,这里就单独拿出来聊聊。甲方需求是把通过备份还原系统将备份数据(系统级备份)一一还原到目标Esxi里做测试,不能与现有的生产系统有任何冲突。测试的时候都需要通过 jumpServer来做跳板,分别连接到测试系统和生产系统。

image-20231021004950368image-20231021004950368

jumpServer特殊案例之用nginx代理实现异地内网访问

jumpServer奇葩案例之用nginx反向代理实现异地内网访问

一、背景

本来处理完 [jumpServer windwos RDP网络不可达、安全策略错误]: https://www.qipanet.com/itClass/284.html 之后,应该算完事了。但是刚想走人,甲方爸爸又说要在子公司内网能访问,并且出于保密需要,不希望给下属公司知道上级公司的公网IP以及相关端口信息。了解完需求后,给我的第一反应是这个需求真的奇葩啊。不管了,反正给加$就好办:smile:。

环境大概这样:总公司、子公司出口都有防火墙,总公司jumpServer和子公司的linux系统都部署在esxi上,子公司人员只能先访问linux,由linux

药品流向数据清洗之医院名称匹配原理

一、前言

不同的商业流向平台导出的药品流向数据格式千差万别,其中医院名称(终端)叫法不统一,使得数据处理起来变得非常麻烦。把千奇百怪的医院名称转换为标准的医疗机构名称,也就是所谓的数据清洗。当然,数据清选还包括产品名称,规格等字段的处理,甚至还包括计量单位转换。如果采用纯人工处理,工作量将会非常巨大。在[琪乐药品流向数据查询管理系统]:https://www.qipanet.com/project/279.html中有提到系统支持数据清洗,那么系统的数据清洗具体是怎么实现的呢?本文将以医院名称为例,做一个简单的处理过程介绍。

image-20231010003038105image-20231010003038105