[精讚] [會員登入]
1019

【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

你可能感興趣的文章

【Docker&Wildfly】(bitnami/wildfly)如何從零開始創建網頁伺服器 使用他人的 docker image 來架設我們的 wildfly web server

【MySQL】每個類別中取前三高 一個由多層次所組成的SELECT述句

【Minecraft】[CoreProtect|BungeeCord]如何重新命名世界或維度名稱 當只有一個伺服器的時候,問題往往處理起來非常簡單,但是一旦當伺服器成長至兩台以上,事情便開始有趣了起來

【ThinkSpeak】一個IoT數據分析(IoT analytics)及呈現的網站 世界上有著各式各樣的需求,因而誕生出了各式各樣的網站,絕對不是沒有人提供,而是你不知道哪裡有這東西

【C++】使用struct array和一維int array模擬二維int array 主要是因為用sort去排序int array的二維陣列小編懶得研究,於是就研究了一種維持一維陣列但是有二維陣列效果的程式,小編就廢~~

【Discord bot 2.0.1】(discord.ui.View)如何將舊機器人升級至目前最新版本 很多時候升級軟體是為了讓別人覺得你的程式很先進,但這次卻是因為要使用某個新功能

隨機好文

高捷少女:布拉格體驗㊤ 「可……可以去歐洲玩?而且還有人出錢?太棒囉!」婕兒忍不住歡呼起來,把扳手拋呀拋的,旁邊的客人紛紛轉過來看。「好了啦!」耐耐忍不住害羞起來,輕輕敲了一下婕兒的頭

高捷少女:購票大作戰① 「各位乘客,本班機即將降落,感謝各位乘客的搭乘……」隨著空中小姐的廣播音,那架飛機逐漸降落在地面,裡面的乘客們也紛紛開始整理自己的行李。 那個有著歐美人五官的少女抓緊包包,看著外面的小港機場,臉上緩緩

高捷少女:購票大作戰② 一個不好的預感浮現,艾米莉亞開始檢查屋子四處。窗戶跟陽台都有關好,也沒有被打開的跡象。但一股無形的壓力,開始在寂靜的公寓中蔓延,她不安地嚥一下喉嚨。最後,她走向那扇窗戶,那前天晚上,白龍為了逃脫,而撞

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

高捷少女:耐耐的新年驚喜③ 即使如此,夫人仍然每年都會問老爺是否能空出一週時間,但總是被回絕,除了前年以外。老爺答應夫人一定會排出空檔,他們在去年的二十三日前往澳洲。」耐耐嘆了口氣。「那一天的晚上,我打電話給媽媽時,她很高興地告