婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Oracle更換為MySQL遇到的問題及解決

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

熱門標簽:400電話變更申請 400電話辦理服務價格最實惠 html地圖標注并導航 武漢電銷機器人電話 南太平洋地圖標注 呂梁外呼系統(tǒng) 催天下外呼系統(tǒng) 大豐地圖標注app 北京金倫外呼系統(tǒng)

遷移工具

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

應用改造

添加mysql8.0驅(qū)動包

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

                !--MySql 驅(qū)動 -->
		dependency>
			groupId>mysql/groupId>
			artifactId>mysql-connector-java/artifactId>
			version>8.0.15/version>
			scope>runtime/scope>
		/dependency>

修改數(shù)據(jù)源配置

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

對象改造

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

問題匯總

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

  • 出現(xiàn)該問題可能的原因:

1、網(wǎng)絡不通; 2、服務未啟動; 3、防火墻未關閉; 4、服務器上防火墻端口未開放; 5、端口未被監(jiān)聽; 6、權限不足。 我這里是排查發(fā)現(xiàn)測試數(shù)據(jù)庫服務器上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出現(xiàn)2059錯誤

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

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

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

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

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

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

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

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

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

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

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

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

您可能感興趣的文章:
  • 詳解Mysql和Oracle之間的誤區(qū)
  • SpringBoot多數(shù)據(jù)庫連接(mysql+oracle)的實現(xiàn)
  • 詳解MySQL實時同步到Oracle解決方案
  • MySQL版oracle下scott用戶建表語句實例
  • mysql、oracle默認事務隔離級別的說明
  • MyBatis JdbcType 與Oracle、MySql數(shù)據(jù)類型對應關系說明
  • mysql和oracle的區(qū)別小結(功能性能、選擇、使用它們時的sql等對比)
  • mysql類似oracle rownum寫法實例詳解
  • 淺談Mysql、SqlServer、Oracle三大數(shù)據(jù)庫的區(qū)別

標簽:無錫 徐州 自貢 南充 西寧 龍巖 迪慶 麗水

巨人網(wǎng)絡通訊聲明:本文標題《Oracle更換為MySQL遇到的問題及解決》,本文關鍵詞  Oracle,更換,為,MySQL,遇到,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle更換為MySQL遇到的問題及解決》相關的同類信息!
  • 本頁收集關于Oracle更換為MySQL遇到的問題及解決的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 廊坊市| 梧州市| 佛教| 逊克县| 冕宁县| 佛教| 海宁市| 阜城县| 新竹县| 敦化市| 扎鲁特旗| 兰州市| 麟游县| 若羌县| 海兴县| 平度市| 益阳市| 全南县| 如东县| 大名县| 松江区| 鲁山县| 宁化县| 海门市| 克拉玛依市| 治县。| 泰州市| 东辽县| 亳州市| 罗山县| 太谷县| 通山县| 奎屯市| 兰坪| 凉城县| 泰顺县| 铁岭市| 瓦房店市| 临邑县| 任丘市| 响水县|