搞定!詳解MeterSphere 配置外部Mysql5.7的全過程

最近試用了MeterSphere做接口測試平臺,感覺使用起來非常方便,最重要的是開源免費!官方文檔還是非常詳細的,這里我就不多介紹了,感興趣的同學可以參考:

https://metersphere.io/docs/v2.x/

經過討論,決定在測試團隊推廣。由于公司數據庫管理策略,數據庫必須通過dba 統一管理,所以需要MeterSphere連接外部mysql數據庫。數據庫遷移過程中主要遇到下面錯誤:

Caused by: org.flywaydb.core.api.FlywayException: Schema `metersphere` contains a failed migration to version 5 !

接下來我就詳細講述一下,MeterSphere連接外部數據庫的操作過程,以及再此過程中解決遇到問題的詳細步驟:

修改配置文件

根據官方提示 在/opt/metersphere/.env (該文件是隱藏文件)中修改如下配置,注意標紅

# 數據庫配置

## 是否使用外部數據庫

MS_EXTERNAL_MYSQL=true

## 數據庫地址

MS_MYSQL_HOST=mysql

## 數據庫端口

MS_MYSQL_PORT=3306

## 數據庫庫名

MS_MYSQL_DB=metersphere

## 數據庫用戶名

MS_MYSQL_USER=root

## 數據庫密碼

MS_MYSQL_PASSWORD=Password123@mysql

然后運行命令

msctl reload

msctl restart

錯誤現象

自以為會是大功告成,事實則是登錄無反應!

查看/opt/metersphere/logs/metersphere/info.log 日志發現問題如下:

Caused by: org.flywaydb.core.api.FlywayException: Schema `metersphere` contains a failed migration to version 5 !

at org.flywaydb.core.internal.command.DbMigrate.migrateGroup(DbMigrate.java:217)

at org.flywaydb.core.internal.command.DbMigrate.lambda$migrateAll$0(DbMigrate.java:141)

at org.flywaydb.core.internal.database.mysql.MySQLNamedLockTemplate.execute(MySQLNamedLockTemplate.java:60)

at org.flywaydb.core.internal.database.mysql.MySQLConnection.lock(MySQLConnection.java:154)

at org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory.lock(JdbcTableSchemaHistory.java:141)

at org.flywaydb.core.internal.command.DbMigrate.migrateAll(DbMigrate.java:141)

at org.flywaydb.core.internal.command.DbMigrate.migrate(DbMigrate.java:101)

at org.flywaydb.core.Flyway$1.execute(Flyway.java:219)

at org.flywaydb.core.Flyway$1.execute(Flyway.java:170)

at org.flywaydb.core.Flyway.execute(Flyway.java:586)

at org.flywaydb.core.Flyway.migrate(Flyway.java:170)

at org.springframework.boot.autoconfigure.flyway.FlywayMigrationInitializer.afterPropertiesSet(FlywayMigrationInitializer.java:66)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800)

... 34 common frames omitted

第一反應是 — 怎么會?我明明按照官網鏈接一步一步執行的啊!

https://metersphere.io/docs/v2.x/installation/offline_installation/

并協調dba搞了個MySQL5.7 ,怎么還會報db遷移到5的錯誤呢?

Caused by: org.flywaydb.core.api.FlywayException: Schema `metersphere` contains a failed migration to version 5 !

尋求問題解決方案

于是乎找了metersphere的技術支持,解決方案如下:

首先執行下面的腳本

https://raw.githubusercontent.com/metersphere/metersphere/master/backend/src/main/resources/db/migration/V5__schedule.sql

然后修改metersphere_version 表對應版本的的success值為1,

最后執行命令 msclt reload 重啟服務即可

1.這里需要注意的是:執行V5__schedule.sql語句一定讓dba找一個最高權限的賬號來執行,否者需要各種授權,非常的麻煩!

2.如果執行過程中有各種表已經創建,列已經存在的相關消息,直接忽略即可

3. V5__schedule.sql 執行之前已經執行了很多sql操作,這些語句是在執行下面語句時就已經完成了的!換句話說,V5__schedule.sql是基于下面的語句運行之后再運行的!

msctl reload

msctl restart

最后的總結

如果執行sql語句過程中出現了意想不到的問題。建議如下操作:

1. 刪掉庫metersphere,然后重新創建庫metersphere

2. 執行msctl restart

3. 執行語句V5__schedule.sql

4. 修改metersphere_version 表對應版本的的success值為1

5. 執行msclt reload

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,882評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,208評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,746評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,666評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,477評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,960評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,047評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,200評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,726評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,617評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,807評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,327評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,049評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,425評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,674評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,432評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,769評論 2 372

推薦閱讀更多精彩內容