最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle更換為MySQL遇到的問題及解決

 更新時間:2021年05月21日 11:51:02   作者:天臺上見  
前段時間自行安裝MySQL8.0數據庫,為數據庫去Oracle做準備?,F在公司正規(guī)劃搭建MySQL集群。于是挑選兩個應用,進行改造測試,積累下經驗。

遷移工具

測試時,使用powerdesinger進行表結構轉換,使用Navicat進行數據導入。 生產環(huán)境數據量較大,會由數據組同事選用其他工具進行遷移,到時再行補充。

應用改造

添加mysql8.0驅動包

使用mysql-connector-java-8.0.15.jar,如果是maven管理,直接添加依賴:

                <!--MySql 驅動 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>8.0.15</version>
			<scope>runtime</scope>
		</dependency>

修改數據源配置

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://host:ip/database?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=password

對象改造

  • 如果使用的hibernate,將配置文件中主鍵自增的序列刪除掉,在mysql中將主鍵設置為自增;或者為序列創(chuàng)建對應函數。使用mysql集群的話,主鍵的生成方式還會有改動。
  • 逐條sql檢查,特別是mybatis中拼接的sql語句,包括:
    • 主鍵修改:序列sequence刪除,數據庫中主鍵改為自增;或創(chuàng)建對應自增函數
    • 對涉及mysql關鍵字的字段進行處理,使用``標識
    • 日期格式處理
    • rownum條件查詢改為limit條件查詢

問題匯總

問題:本地遠程連接mysql數據庫,報10060登錄異常

  • 出現該問題可能的原因:

1、網絡不通; 2、服務未啟動; 3、防火墻未關閉; 4、服務器上防火墻端口未開放; 5、端口未被監(jiān)聽; 6、權限不足。 我這里是排查發(fā)現測試數據庫服務器上3306端口未開放原因。

  • 解決方法:
sudo vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
sudo service iptables restart
sudo iptables -L -n

問題:Navicat 連接MySQL8出現2059錯誤

  • 原因:mysql8之前的版本中加密規(guī)則是mysql_native_password,而在mysql8之后,加密規(guī)則是caching_sha2_password
  • 解決辦法:更改加密規(guī)則
mysql -uroot -ppassword #登錄
use mysql; #選擇數據庫
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更改加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; #更新用戶密碼
FLUSH PRIVILEGES; #刷新權限

問題:使用Navicat遷移數據報錯 --> [Err] [Dtf] 1426 - Too-big precision 7 specified for 'TIME_CREATE'. Maximum is 6.

  • 原因:oracle的DATE類型是7位,而mysql的時間類型最多6位,所以無法導入。
  • 解決方法:將oracle庫中的DATE改為TIMESTAMP,同時長度改成6 (一定要把類型和長度都修改后才保存),即可導入。

問題:數據遷移中varchar字段插入報錯 --> Data too long for column 'DESIGNER' at row 1

  • 原因:Oracle與mysql采用不同的編碼集,導致即使相同的字符,存儲長度要求也不一樣(需進一步深入了解)
  • 解決辦法:需要在msyql擴展字段長度

問題:SpringBoot連接mysql報錯--> Unknown system variable 'query_cache_size'

  • 原因:使用mysql驅動jar包版本過低,不兼容mysql8.0
  • 解決:使用mysql-connector-java-8.0.15.jar,驅動名換為com.mysql.cj.jdbc.Driver

問題:更改為mysql后,應用前端頁面查詢中文顯示亂碼

  • 原因:從數據庫、服務器、頁面三個維度排查編碼格式
    • MySQL數據庫編碼格式排查
    • 服務器編碼格式排查
    • 前端頁面編碼格式排查

最終發(fā)現,是在Navicat連接中,設置了編碼格式為utf-8,導致導入的數據在Navicat中看到是正常的,但數據庫中是亂碼,查詢結果也是亂碼。這個真的查了好久,沒注意到時工具的原因。。

  • 解決辦法:重新設置編碼格式,導入數據,顯示正常

以上就是Oracle換為MySQL遇到的問題及解決的詳細內容,更多關于Oracle換為MySQL的資料請關注腳本之家其它相關文章!

相關文章

  • MySQL8.0就地升級到MySQL8.4.0的方法

    MySQL8.0就地升級到MySQL8.4.0的方法

    本文主要介紹了MySQL8.0就地升級到MySQL8.4.0的方法,文中通過代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-06-06
  • MySQL對中文進行排序詳解及實例

    MySQL對中文進行排序詳解及實例

    這篇文章主要介紹了MySQL對中文進行排序詳解及實例的相關資料,需要的朋友可以參考下
    2017-05-05
  • MySQL的分區(qū)表使用場景及示例小結

    MySQL的分區(qū)表使用場景及示例小結

    MySQL的分區(qū)表功能在某些場景下可以顯著提高查詢效率,本文主要介紹了MySQL的分區(qū)表使用場景及示例小結,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • MySQL的InnoDB擴容及ibdata1文件瘦身方案完全解析

    MySQL的InnoDB擴容及ibdata1文件瘦身方案完全解析

    在使用InnoDB存儲引擎后,MySQL的ibdata1文件常常會占據大量存儲空間,這里我們就為大家?guī)鞰ySQL的InnoDB擴容及ibdata1文件瘦身方案完全解析:
    2016-06-06
  • MySQL查詢語法匯總

    MySQL查詢語法匯總

    這篇文章主要介紹了MySQL查詢語法的匯總,幫助大家更好的理解和學習mysql,感興趣的朋友可以了解下
    2020-08-08
  • MySQL插入數據與查詢數據

    MySQL插入數據與查詢數據

    這篇文章主要介紹了 MySQL插入數據與查詢數據,缺省插入、缺省插入、缺省插入等各種數據插入分享,需要的小伙伴可以參考一下,希望對你有所幫助
    2022-03-03
  • MySQL將時間戳轉換為年月日格式的實現

    MySQL將時間戳轉換為年月日格式的實現

    在我們的項目開發(fā)過程中,經常需要將時間戳或日期時間字段轉換為特定的格式,本文主要介紹了MySQL將時間戳轉換為年月日格式的實現,具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • Linux下MySQL卸載和安裝圖文教程

    Linux下MySQL卸載和安裝圖文教程

    這篇文章主要為大家詳細介紹了Linux下MySQL卸載和安裝圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • sqlite3遷移mysql可能遇到的問題集合

    sqlite3遷移mysql可能遇到的問題集合

    這篇文章主要給大家介紹了關于sqlite3遷移mysql可能遇到的問題集合,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-07-07
  • 詳解MySQL8.0+常用命令

    詳解MySQL8.0+常用命令

    這篇文章主要介紹了MySQL8.0+常用命令及操作命令,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10

最新評論

桐乡市| 玛多县| 喜德县| 松溪县| 乌鲁木齐县| 澄江县| 黎城县| 长垣县| 文昌市| 宁陵县| 石楼县| 周宁县| 枣庄市| 古蔺县| 石阡县| 措美县| 兰西县| 阿尔山市| 旺苍县| 绵竹市| 玉林市| 青河县| 青田县| 泽州县| 贵德县| 盘锦市| 卓尼县| 巩留县| 蒙山县| 肇源县| 罗平县| 万州区| 汕尾市| 怀化市| 德兴市| 准格尔旗| 建德市| 千阳县| 句容市| 攀枝花市| 乌拉特后旗|