yml文件配置mysql鏈接(yml引入其他yml配置文件)

本文目錄一覽:

springBoot中的application.yml配置文件

有些用過springBoot工程的人總有疑惑,springBoot工程中是有一個application.yml配置文件的啊,其實application.yml的功能和application.properties是一樣的,不過因為yml文件是樹狀結構,寫起來有更好的層次感,更易於理解,所以很多人都選擇了yml文件。

下面來說說將工程改成application.yml配置文件的詳細步驟

第一步:在 application.properties 文件的同級目錄下新建一個 application.yml 文件

第二步:添加application.yml文件中的配置如下:

server:

  port: 8088

spring:

    datasource:

        name: test

        url: jdbc:mysql://localhost:3306/test

        username: root

        password: xxx

        # 使用druid數據源

        type: com.alibaba.druid.pool.DruidDataSource

        driver-class-name: com.mysql.jdbc.Driver

        filters: stat

        maxActive: 20

        initialSize: 1

        maxWait: 60000

        minIdle: 1

        timeBetweenEvictionRunsMillis: 60000

        minEvictableIdleTimeMillis: 300000

        validationQuery: select ‘x’

        testWhileIdle: true

        testOnBorrow: false

        testOnReturn: false

        poolPreparedStatements: true

        maxOpenPreparedStatements: 20

如圖所示:

第三步:刪除原有的application.properties文件

文件結構如圖示:

第四步,重新編譯maven工程

找到maven工具欄,雙擊clean,待執行完成後,雙擊install,執行完成則編譯成功。

第四步,重啟springboot項目

沒有任何問題:

The End

使用canal將mysql同步到es中

因為自己項目中需要用到mysql數據同步到es中,查找了相關資料最後決定用canal來做,所以便有了本文,下面一起來看如何使用canal吧

根據 上的原理解釋,我們知道 canal 會模擬 mysql slave 的交互協議,偽裝自己為 mysql slave,然後向 mysql master 發送 dump 協議。

mysql master 收到 dump 請求,開始推送 binary log 給 slave(也就是 canal),然後 canal 解析 binary log 對象(原始為 byte流)。

經 canal 解析過的對象,我們使用起來就非常的方便了。

再根據 提供的版本信息,你會發現 canal 其實相當於一個中間件,專門用來解析 MySQL 的 binlog 日誌。canal 解析好了之後,會封裝成一個數據對象,通過 protobuf3.0 協議進行交互,讓 canal 客戶端進行消費。

根據上面的解釋,以及 canal 提供的版本信息,我們在使用 canal 的時候,首選要安裝一個 canal.deployer-1.1.4.tar.gz 進行解析 MySQL 的 binlog 日誌。

下載後,複製 canal.deployer-1.1.4.tar.gz 到 MySQL 主機上,比如放在 /usr/local/soft/目錄下。然後依次執行下面的命令:

然後修改 canal 的配置文件 vim conf/example/instance.properties

這三項改成你自己的,比如我的配置如下:

然後保存並退出。(VI 模式下,按 Esc 輸入 :wq 回車退出。)

接著,我們檢查一下 MySQL 的配置。確定版本和是否開啟了 binlog 日誌,以及日誌格式。

canal 支持 binlog 格式為 ROW 的模式。如果你沒開啟 binlog,並且格式是非 row 的,建議修改一下 mysql 的配置文件。

執行 mysql –help | grep my.cnf 找到 mysql 的 my.cnf 文件。

執行 vim /etc/my.cnf 命令。添加下面 3 個配置。

然後保存並退出。

接著執行 sudo service mysqld restart 重啟 MySQL。

需要注意的是你的 mysql 用戶,必須要有 REPLICATION SLAVE 許可權。該許可權授予 slave 伺服器以該賬戶連接 master 後可以執行 replicate 操作的權利。

如果沒有許可權,則使用 root 賬戶登錄進 MySQL,執行下面的語句,創建用戶,分配許可權。

MySQL 啟動後,就可以開啟 canal 服務了。

開啟後,觀察 canal 服務的日誌,確保服務正常。

查看 canal 的日誌

確定沒有問題後,開始編寫我們的測試程序。

pom.xml 中導入下面的依賴。

使用JAVA進行測試

然後執行 main 方法。你再修改修改 MySQL 中的數據,你會發現所有改變都同步過來了。上面是使用的Java代碼進行運行,如果想用canal.adapter來進行運行可以下載

放入伺服器中,依次執行下面命令

然後修改配置文件 :

然後將需要運行存儲到es的的yml文件放入到

目錄下。例如:

然後開啟canal-adapter服務

/usr/local/soft/canal-adapter/bin/startup.sh

查看 canal-adapter 的日誌,確定沒有問題後修改數據 就可以同步到es了

注意:

1、canal-adapter自帶mysql連接使用的5.x的,如果自己安裝的是高版本的mysql需要自己去/usr/local/soft/canal-adapter/lib增加對應的jar包

2、因項目中同步es使用的sql中有資料庫中沒有的欄位,導致原生程序一直報異常,後修改源碼中

加了一個判斷後才可以

3、es中使用的date欄位類型和資料庫中不一致,所以這裡又修改了部分源碼兼容我們項目中的類型

可以根據各自情況修改。

在yml文件中 MySQL 資料庫引擎怎麼設置

datasource:

driver-class-name: com.mysql.jdbc.Driver

url: jdbc:mysql://127.0.0.1:3306/webDb //連結的dburl

username: root //db用戶名

password:

jpa:

hibernate:

ddl-auto: update

show-sql: true

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129285.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相關推薦

  • vue下載無後綴名的文件被加上後綴.txt,有後綴名的文件下載正常問題的解決

    本文旨在解決vue下載無後綴名的文件被加上後綴.txt,有後綴名的文件下載正常的問題,提供完整的代碼示例供參考。 一、分析問題 首先,需了解vue中下載文件的情況。一般情況下,我們…

    編程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件並生成完整的圖像

    OBJ格式是一種用於表示3D對象的標準格式,通常由一組頂點、面和紋理映射坐標組成。在本文中,我們將討論如何將多個OBJ文件拼接在一起,生成一個完整的3D模型。 一、讀取OBJ文件 …

    編程 2025-04-29
  • 為什麼用cmd運行Java時需要在文件內打開cmd為中心

    在Java開發中,我們經常會使用cmd在命令行窗口運行程序。然而,有時候我們會發現,在運行Java程序時,需要在文件內打開cmd為中心,這讓很多開發者感到疑惑,那麼,為什麼會出現這…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • Python將矩陣存為CSV文件

    CSV文件是一種通用的文件格式,在統計學和計算機科學中非常常見,一些數據分析工具如Microsoft Excel,Google Sheets等都支持讀取CSV文件。Python內置…

    編程 2025-04-29
  • Python zipfile解壓文件亂碼處理

    本文主要介紹如何在Python中使用zipfile進行文件解壓的處理,同時詳細討論在解壓文件時可能出現的亂碼問題的各種解決辦法。 一、zipfile解壓文件亂碼問題的根本原因 在P…

    編程 2025-04-29
  • Python如何導入py文件

    Python是一種開源的高級編程語言,因其易學易用和強大的生態系統而備受青睞。Python的import語句可以幫助用戶將一個模塊中的代碼導入到另一個模塊中,從而實現代碼的重用。本…

    編程 2025-04-29
  • Python合併多個相同表頭文件

    對於需要合併多個相同表頭文件的情況,我們可以使用Python來實現快速的合併。 一、讀取CSV文件 使用Python中的csv庫讀取CSV文件。 import csv with o…

    編程 2025-04-29
  • Python寫文件a

    Python語言是一種功能強大、易於學習、通用並且高級編程語言,它具有許多優點,其中之一就是能夠輕鬆地進行文件操作。文件操作在各種編程中都佔有重要的位置,Python作為開發人員常…

    編程 2025-04-29

發表回復

登錄後才能評論