[精讚] [會員登入]
1221

【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

你可能感興趣的文章

【MEGAcmd】[Linux] 如何解決Unable to connect to service: error=2 用了好久的軟體突然停止一切的運作了。

【自製-製作epub輔助工具】(Sigil) content產生器 能交給程式快速結束的地方就不要自己手動浪費時間了吧。

【Maven】[Wicket](Java) 如何部署Wicket到Wildfly內 Wicket 是一個 Java 下的套件,換言之,我們的網頁伺服器後端是由 Java 來撰寫的

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

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

【Arduino/LinkIt 7697】實作小小的 MQTT Publish & Subscribe 若是要多點對多點傳輸資料,那使用 MQTT 即可快速的達成我們所需的目的

隨機好文

高捷少女:美麗島的守護者② 這是在亦晨離開前的下午拍的,當時亦晨在美麗島跟小穹艾米等人在美麗島散步,為離開前補充一些回憶,這時剛好經過的小雅被艾米抓過來,做為同樣是高捷新人的她倆一同拍了一張紀念照。說起來她跟亦晨並不太熟,不過也

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

【日翻中歌詞】LOSER 一如往常的孤身一人 早就已經被折磨殆盡 明明就已經無處可去 卻作著白日夢 晚安 無論何時都是這個樣子 對懵懂夜晚早感到噁心

艾米莉亞和高捷戀旅② 七點三十五分了。 「快到粉絲團!快!」小穹慌張地說,婕兒、耐耐也湊向手機。雖然她們沒有報名,不過也希望亦晨參賽,不免著急起來。 「亦晨?妳的報名序號是多少?」艾米快速滑動手機。合格的參賽者姓名和序號都

【數學】徐氏數學簡明講義(三) 第二章 直線與園 P2.1-17 Q34 34.設P(x , y)為座標平面上一點,   且滿足,則P點的位置可能在哪裡?   (1)第一象限(2)第二象限(3)