[精讚] [會員登入]
1380

【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

你可能感興趣的文章

【JDA/discord bot】如何獲得訊息中的圖片和影片並儲存或轉傳 如何將訊息中的圖片或影片之類的多媒體提取出來之後,再進行相關的處理

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

【C】(%c, %d)解決讀取字元時的緩衝區殘留 不解決就會莫名其妙地冒出一些莫名其妙的東西

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

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

【C++】如何解決TLE,換句話說便是加速cin, cout的執行速度 [ZERO JUDGE](UVa) a159: 11743 - Credit Check 題目練習和副程式練習

隨機好文

希萌創意預計在今年7月繼東津萌米之後再次推出新遊戲--食用性少女! 今天來介紹希萌創意的心企劃案,來讓大家知道這個消息!讓大家的錢包君一起來減肥吧!Ψ(☆w☆)

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

高捷少女:美麗島的守護者① 婕兒跟耐耐嚇得臉色發白。「耐耐,小穹有這方面的愛好喔?」婕兒小聲地說。耐耐默默的拿出筆記本,臉上浮現一層微笑:「這麼大的新聞,要趕快記下來!」

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

【札記】在發文上遇到的問題 如果遇到問題,是選擇丟在一旁還是將其解決,又或者是看情況?