[精讚] [會員登入]
1180

【Wildfly/jBoss】[Linux](Connection Datasource)如何與MySQL資料庫建立連線

網頁瀏覽器和資料庫的關係密不可分,而通常會將兩者分開架設在不同的伺服器上面來提供服務,這時要如何進行連線呢?

分享此文連結 //n.sfs.tw/15499

分享連結 【Wildfly/jBoss】[Linux](Connection Datasource)如何與MySQL資料庫建立連線@小編過路君子
(文章歡迎轉載,務必尊重版權註明連結來源)
2021-11-22 14:05:01 最後編修
2021-11-21 19:29:59 By 過路君子
 

大家好,這裡是一直打不到所需素材的小編過路君子

真的運氣很好,同個關卡會掉兩種素材,機率各 50%,結果一直掉另一個小編不需要的素材......

 

 

那我們照往例,就先附上小編等等會使用到的所有軟體名稱和版本,各位在操作的時候要確定版本之間可否通用喔。

軟體名稱 版本
Wildfly 8.0.26
MySQL 24.0.1.Final
MySQL Connectors Connector/J 8.0.27

 

Step.1 安裝驅動程式(Driver)

 

Wildfly在安裝的時候,預設是不會安裝 MySQL的驅動程式(JDBC Driver),所以我們須先手動安裝一下 JDBC Driver。

如果各位已經安裝完畢就可以直接跳過這一步驟。

那首先我們先到 MySQL官方所提供的的驅動程式下載區下載 JDBC Driver

(所有圖片點擊都可以放大、變高清)

那小編在此使用的系統為 CentOS 8,所以選擇了 Red Hat Enterprise Linux 8來下載。

如果是其他的Linux系統請下載各自對應的 Driver來用。

然後將其下載到 Wildfly所在的伺服器裡面,這邊小編直接使用 wget。

至於要放在哪裡都可以,後面複製檔案的時候找的到就行,小編是放在 /tmp/ 下的。

wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.27-1.el8.noarch.rpm

以 CentOS 8為例,下載下來之後為 .rpm檔案,所以接下來下一個解壓縮指令進行解壓縮。

然後下方圖片中畫紅底線的那個檔案就是我們所需要的檔案,其他檔案可以當沒有,我們只要那個 Jar檔就好。

rpm2cpio mysql-connector-java-8.0.27-1.el8.noarch.rpm | cpio -div

然後接下來這步分常重要,要找到各位 Wildfly的家目錄並且進入到其裡面

在預設情況下,Wildfly的家目錄應該長得像是下圖那樣,如果忘記或是不清楚放在哪裡,試著使用 find來找尋吧。

那接下來我們快速連下兩道指令將 JDBC Driver安放進 Wildfly吧!

在 Wildfly的預設安裝裡面,./modules/system/layers/base/com/ 裡面不會有 mysql資料夾,所以這部分就是要由我們手動創建。

那至於剛剛我們下載的 mysql-connector-java.jar在哪裡,就看各位自己放置的位置,小編是在 tmp裡面下載的,所以當然在 tmp裡面啦!

mkdir -p ./modules/system/layers/base/com/mysql/main/
touch ./modules/system/layers/base/com/mysql/main/module.xml
cp /tmp/usr/share/java/mysql-connector-java.jar ./modules/system/layers/base/com/mysql/main/

緊接著打開我們剛剛順便創建的 module.xml檔案,我們要寫入一些資訊,讓 Wildfly知道怎麼使用這個 JDBC Driver。

簡單來說......把底下的文字全部貼進去就好,第三行的檔案名稱要跟剛剛複製進去的 Jar檔一模一樣喔。

<module xmlns="urn:jboss:module:1.5" name="com.mysql">
    <resources>
        <resource-root path="mysql-connector-java.jar" />
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
    </dependencies>
</module>

 

然後就是重啟Wildfly就可以了。

./bin/jboss-cli.sh --connect command=:reload

如果各位在重啟的時候遇到了下圖的錯誤狀況,則改下以下的指令。

請依照自身情況將<user>、<password>、<your IP> and <port>改成相對應的資訊。

./jboss-cli.sh --user="<user>" --password="<password>" --controller=remote+http:<your IP>:<port> --connect command=:reload

 

Step.2 連線資料庫

首先先連線進 Wildfly的後台管理介面,預設連線 port為 9990,依序照下圖點擊即可。

依照下圖的方式輸入,其他格子可以依照需求填入。

點擊「Add」之後就可以看到多了一個我們剛剛設置的 mysql欄位。

完成之後我們切換到「Datasource」分頁,同樣點擊那個可愛的加號並選擇「Add Datasource」。

選擇「MySQL」之後就可以按 Next了。

直接按 Next。

點擊小三角形選擇我們剛剛添加的 JDBC Driver,然後點 Next。

輸入資料庫的相關資訊,下面的帳號和密碼注意是要輸入 MySQL的,千萬別輸入成 Wildfly的。

 然後測試連線,如果一切正常就會顯示下方圖片的樣子。

最後確認一下下圖的狀態,如果看到一片綠那就恭喜各位完成了這項任務,可以收工回家了。

 

 

 

後記

連結完資料庫之後就是要把資料取出來了,所以,這只是個開始呢。

END

你可能感興趣的文章

【Stable Diffusion web UI】[AI 作畫](Linux)無 NVIDIA 顯卡之伺服器運行測試 凡事就是要試試看,才知道最後的結果

【ESXI & Oepnwrt】基本錯誤處理 Oepnwrt 為一個自由度超高的軟體,很多事情都能請其幫忙完成,但也因此很複雜,這邊簡單的介紹幾個錯誤的處理方式

【JAVA】[java.lang.Class]如何不透過new來實體化class 在某些極端狀態下,我們沒有辦法直接將實體化後的 Object 傳入函數內,只能採用傳入 Class 在實體化成物件這種極端的方式來進行

【C++】SFML安裝於Microsoft Visual Studio 2019 此方法僅適用單個C++專案,因為一次就適用整台電腦的方式有人寫了,而且寫得非常不錯。

【Discord bot 6.2.1】[JDA6](StringSelectMenu)如何從訊息中提取選單並取得使用者選擇的選項 從 JDA5 使用到現在的 JDA6,時間過得還真快

【Java】[debug]多維泛型的大坑 incompatible types error

隨機好文

高捷少女:小穹與果仁巧克力㊥ 艾咪臉上泛起笑容說:「妳知道嗎?就跟花語一樣,每一種巧克力也都有各自的涵義:薄荷巧克力代表初戀;卡通巧克力代表天真爛漫;而果仁巧克力代表的是窩心,還有想陪伴對方的心情,這在德國是女生之間在慶生時會彼此

高捷少女:購票大作戰(終) 完了。 這下真的完了! 艾米腦內所有的思考中樞,同時發出了淒厲的吶喊。完蛋啦!這下真的被揭穿了啦!! 「那……那是因為……」艾米結結巴巴的說:「因為……

高捷少女:耐耐的新年驚喜② 「各位,我跟爸媽聊完了……」耐耐走進客廳,看到大家在看自己的相簿,臉蛋立刻紅了。「哇啊啊,不要看那個!」她三步併作兩步地走向少女們,將相簿拿走。「為什麼啊?小時候的耐耐很可愛啊。」婕兒不解地說。

婕兒──她的青春② 艾米直搖頭。「我真不敢相信,小穹妳都二十幾歲了,為什麼能想出這種故事呀?」「婕兒也是二十幾歲啊,妳想想她現在是什麼樣子?」小穹不滿地指向火車的方向。

【專輯介紹】蓮台野夜行 ~ Ghostly Field Club,れんだいのやこう 就讓我們隨著音樂跟著秘封俱樂部一起探詢那不可思議的未知和神秘,若處理不好,說不定會招來奇怪的靈呦(・ω<)☆