MeterSphere使用MySQL8.0部署(Windows10)_metersphere mysql-程序员宅基地

技术标签: 性能测试平台  自动化测试  MySQL  metersphere本地部署  jmeter测试平台  

背景

看MeterSphere文档推荐5.7,但是因为我本地和服务器均为8.0版本,考虑到已经有很多服务在使用MySQL服务,而且相对来说,8.0比5.7性能更好,其他地方也更好些,所以就尝试直接用Mysql8.0部署

本地环境:Windows10 MySQL8.0.18

关于为什么会推荐使用MySQL5.7,其实主要原因是他们后端的sql有些group by语句在高版本的MySQL中是不合法的。

MySQL 5.7.5及以上功能依赖检测功能。如果启用了ONLY_FULL_GROUP_BY SQL模式(默认情况下),MySQL将拒绝选择列表,HAVING条件或ORDER BY列表的查询引用在GROUP BY子句中既未命名的非集合列,也不在功能上依赖于它们。(5.7.5之前,MySQL没有检测到功能依赖关系,默认情况下不启用ONLY_FULL_GROUP_BY。有关5.7.5之前的行为的说明,请参见“MySQL 5.6参考手册”。)

既然知道了原因,那么我们改动起来也就方便了,可以通过以下3种方式调整:

1. 调整sql语句,

2. 用MeterSphere推荐的5.7版本,

3. 更改MySQL8.0的配置。

我们选择第3种;

步骤

选择更改MySQL8.0的配置也有2种方式,

解决方法一:

其实也就是MeterSphere官方推荐的修改MySQL的配置文件,将配置文件中的sql_mode属性改为sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,但是我调整后重启本地MySQL服务后,发现并未生效。

重启本地MySQL

打开Navicat,

用sql查询:

select @@sql_mode;
show variables like 'sql_mode';

发现并未生效。具体原因还有待确定。

解决方法二:

1. 通过Navicat打开命令列界面,

2. 通过set @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; 进行修改。

如果通过下面页面设置和查询时,则需要重新打开连接才能查询到修改后的值。 

 3. 此时运行metersphere后端程序

运行一会儿后,会发现报错,如下图所示,提示

2021-08-13 12:19:39,496  WARN ConfigServletWebServerApplicationContext: 591 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of init method failed; nested exception is org.flywaydb.core.internal.command.DbMigrate$FlywayMigrateException: 
Migration V86__v1.10.1_release.sql failed
-----------------------------------------
SQL State  : HY000
Error Code : 1267
Message    : Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation '='
Location   : db/migration/V86__v1.10.1_release.sql (G:\learn\1ceba\metersphere\backend\target\classes\db\migration\V86__v1.10.1_release.sql)
Line       : 35
Statement  : CALL project_systemid()

2021-08-13 12:19:39,502  INFO k.scheduling.quartz.SchedulerFactoryBean: 845 - Shutting down Quartz Scheduler
2021-08-13 12:19:39,502  INFO          org.quartz.core.QuartzScheduler: 666 - Scheduler clusterScheduler_$_DESKTOP-6GGVMP81628828158930 shutting down.
2021-08-13 12:19:39,502  INFO          org.quartz.core.QuartzScheduler: 585 - Scheduler clusterScheduler_$_DESKTOP-6GGVMP81628828158930 paused.
2021-08-13 12:19:39,502  INFO          org.quartz.core.QuartzScheduler: 740 - Scheduler clusterScheduler_$_DESKTOP-6GGVMP81628828158930 shutdown complete.
2021-08-13 12:19:39,502  INFO       com.zaxxer.hikari.HikariDataSource: 350 - DatebookHikariCP - Shutdown initiated...
2021-08-13 12:19:39,516  INFO       com.zaxxer.hikari.HikariDataSource: 352 - DatebookHikariCP - Shutdown completed.
2021-08-13 12:19:39,519  INFO       com.zaxxer.hikari.HikariDataSource: 350 - DatebookHikariCP - Shutdown initiated...
2021-08-13 12:19:39,526  INFO       com.zaxxer.hikari.HikariDataSource: 352 - DatebookHikariCP - Shutdown completed.
2021-08-13 12:19:39,529  INFO         org.eclipse.jetty.server.session: 149 - node0 Stopped scavenging
2021-08-13 12:19:39,530  INFO ipse.jetty.server.handler.ContextHandler:1154 - Stopped o.s.b.w.e.j.JettyEmbeddedWebAppContext@31940704{application,/,[file:///C:/Users/tlibn/AppData/Local/Temp/jetty-docbase.8081.8600213245208404957/],STOPPED}
2021-08-13 12:19:39,539  INFO ConditionEvaluationReportLoggingListener: 136 - 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-08-13 12:19:39,555 ERROR g.springframework.boot.SpringApplication: 847 - Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of init method failed; nested exception is org.flywaydb.core.internal.command.DbMigrate$FlywayMigrateException: 
Migration V86__v1.10.1_release.sql failed

即Migration V86__v1.10.1_release.sql failed运行失败,并且打开metersphere_version表,会发现version属性值为86的行的success值为0,即运行失败。

此时我们打开V86__v1.10.1_release.sq文件,可以看到里面的sql,我们将里面的sql复制出来,放到Navicat的命令列界面进行运行,并将metersphere_version表中version属性值为86的行的success值改为1.

然后继续启动后端程序进行运行,一会儿后即可在控制台看到启动成功。

我们再启动前端服务,启动成功后可以在控制台看到前端服务访问地址。

然后打开前端服务地址,会出现如下页面,可以看到左侧是登录功能,右侧是图片,此时没有显示是因为我们没有更改默认的图片地址,所以图片未找到。

 我们输入用户名密码(admin/metersphere),点击登录,即可登录到metersphere。

需要注意的是,第二种方式修改的sql_mode,在MySQL服务重启后,会被还原为默认设置,需要每次重启MySQL服务后都进行设置。

欢迎大家关注我的公众号,会不定期更新一些开发与测试的一些技术文章。

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ttt_12345/article/details/119670017

智能推荐

linux6.4添加源,RedHat Linux6.4 使用yum安装时报错,改用CentOS yum源-程序员宅基地

文章浏览阅读45次。# CentOS-Base.repo## The mirror system uses the connecting IP address of the client and the# update status of each mirror to pick mirrors that are updated to and# geographically close to the client. Y..._redhat6.4yum安装出错

北理工远程教育在线作业统考计算机,北京理工大学计算机统考网上作业答案-程序员宅基地

文章浏览阅读876次。在 Word 文档中插入数学公式, 在"插入"菜单中应选的命令是 ( ) 。单选 题 单选 题10.044在 Excel 2003中,能够进行条件格式设置的区域( ) 。10.011√PowerPoint 中,在幻灯片中添加"动作按钮" 的作用是( ) 。单选 题10.0 22√HTTP 协议是( ) 。单选 题10.044√万维网(world wide web)又称为( ) ,是 Interne..._北理工网络信息安全基础在线作业答案

PY32F003F18之RTC_py32 rtc-程序员宅基地

文章浏览阅读482次。PY32F003F18实时时钟的振荡器是内部RC振荡器,频率为32.768KHz。每10分钟误差6秒。_py32 rtc

括号匹配-程序员宅基地

文章浏览阅读1w次,点赞6次,收藏35次。题目给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "(]"输出: false示例4:输入: "([)]" 输出: false..._括号匹配

基于Java自习室预订座位管理系统设计实现(源码+lw+部署文档+讲解等)_java座位预约系统-程序员宅基地

文章浏览阅读2.1k次,点赞2次,收藏6次。使用旧方法对自习室预订座位管理信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在自习室预订座位管理信息的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。这次开发的自习室预订座位管理系统管理员,学生。管理员功能有个人中心,学生管理,座位分类管理,座位信息管理,座位预约管理,暂离信息管理,签到信息管理,退座信息管理。学生功能有个人中心,座位信息管理,座位预约管理,暂离信息管理,签到信息管理,推座信息管理。_java座位预约系统

设置n卡显示_英伟达牛皮!新驱动开放给显示器的G-Sync 本人亲测有效!-程序员宅基地

文章浏览阅读2.1k次。【PConline DIY老司机】在1月15日的时候,英伟达终于发布了这个让广大电竞玩家盼长了脖子的功能:G-Sync Compatible,就是可以让一些非原生G-Sync的显示器用上G-Sync,这个功能对显示器行业来说可以说是具有里程碑式意义的。但想要用上这个喜闻乐见的G-Sync Compatible功能,硬件和软件方面都是有些条件要求的,想给自家显示器开G-Sync的朋友,这些预习功课要..._用n卡能不能用adaptivesync显示器技术

随便推点

微信机器人ipad_pad版微信 机器人-程序员宅基地

文章浏览阅读1.1k次。首先我们要先了解下ipad协议是什么 ,ipad协议又叫微信协议 是基于微信IPad协议的智能控制系统帮助企业快速连接客户,创造营销氛围,实现自动获客、自动传播、自动转化、智能营销等分布式营销服务。通过API 实现 个性化微信功能 (例:营销系统、云发单助手、社群小助手、客服系统、机器人等),微信个人号二次开发,基于API开发可以有很多功能模块用来自动管理微信消息。可开发的功能包括但不限于:好友管理:添加好友、删除好友、修改备注、创建标签、获取好友列表、搜索好友信息消息管理:发文本、图片消息、名片消_pad版微信 机器人

软件管家出错的情况下安装keil5_可以从联想软件管家下载keil吗-程序员宅基地

文章浏览阅读579次。软件管家出错的情况下安装keil51.按照管家的步骤出错了新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入1...._可以从联想软件管家下载keil吗

C++实现first集follow集_first follow集的求法c++-程序员宅基地

文章浏览阅读4k次,点赞3次,收藏25次。1.“@”代替字符“ε”2.同一非终结符如有多条产生式必须写成一行,中间用“|”分隔,不允许有空格代码存在很多问题,大量“非正常”情况都未考虑,谨慎参考#include<iostream>#include<vector>#include<string>#include<fstream>using namespace std;str..._first follow集的求法c++

基于STM32CubeMX+STM32F103C6Tx+LCD1602+BMP180的压力温度采集Proteus仿真-程序员宅基地

文章浏览阅读287次。基于STM32CubeMX+STM32F103C6Tx+LCD1602+BMP180的压力温度采集Proteus仿真

Android实战 - 音心播放器(MusicActivity - 歌词实现)_android实现音乐歌词播放器动画-程序员宅基地

文章浏览阅读1.8k次。1.背景 歌词是音乐软件必备的,没有它的存在就感觉少点什么,故实现了歌曲歌词的显示,使用LrcView实现,当然是在GitHub上找到的,是一个自定义View : LrcView 地址 : https://github.com/ChanWong21/LrcView 效果预览 : _android实现音乐歌词播放器动画

Cisco路由器enable特权模式密码重置_思科模拟器更改enable密码不会变是怎么回事-程序员宅基地

文章浏览阅读1.3k次。以cisco packet tracer 模拟器来模拟重置路由器的密码,packet tracer默认路由器端口是关闭的,需要手动启用1、把路由器关机并重启!看到###后立即按下【Ctrl+c】键中断路由器的启动过程,进入 rommon 模式!2、输入命令改变配置寄存器的值为 0x2142,这会使得路由器开机时不读取 NVRAM 中的配置文件 。然后重新启动路由器!3、路由器重启后会直接进入到 s..._思科模拟器更改enable密码不会变是怎么回事