欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL 遷移后無法快速導(dǎo)數(shù)據(jù)問題解決

 更新時(shí)間:2023年10月18日 10:43:59   作者:愛可生開源社區(qū)  
這篇文章主要為大家介紹了MySQL 遷移后無法快速導(dǎo)數(shù)據(jù)問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

背景

關(guān)于 5.6 升級到 5.7 之后,GTID 的相關(guān)功能的注意事項(xiàng)。

某金融公司有套系統(tǒng)最近剛遷移完,從 5.6 遷移到 5.7.30,并且在遷移前未開啟 GTID,遷移后開啟了 GTID 相關(guān)功能。業(yè)務(wù)按照以往的方式使用 CREATE TABLE ... SELECT ... 導(dǎo)數(shù)據(jù)的時(shí)候出現(xiàn)報(bào)錯(cuò):Error Code:1786 (HY000): Mysql Statement violates GTID consistency: CREATE TABLE ... SELECT。

問題原理

這個(gè)問題比較簡單,原因就是遷移后的 MySQL5.7 使用了 GTID,開啟了 enforce_gtid_consistency 參數(shù)(GTID 強(qiáng)一致性)。

為保證分布式事務(wù)的一致性,MySQL 使用 GTID 來唯一標(biāo)識一個(gè)事務(wù)。在 GTID 模式下,DDL 和 DML 語句會(huì)自動(dòng)產(chǎn)生不同的 GTID 來標(biāo)識不同的事務(wù)操作。但是 CREATE TABLE ... SELECT ... 只生成了一個(gè) GTID,將 DDL 和 DML 操作合并為一個(gè)事務(wù)執(zhí)行,這在語句執(zhí)行失敗時(shí),會(huì)造成主從數(shù)據(jù)不一致。開啟 enforce_gtid_consistency 參數(shù)就是為了 GTID 事務(wù)的原子性。

官方文檔也有對 CREATE TABLE ... SELECT ... 這一操作的說明:

解決方案

為了安全,不建議關(guān)閉這個(gè)參數(shù)。

在 MySQL5.7 上可以用拆分成兩句 SQL 的方式,解決這個(gè)問題,比如:

#先創(chuàng)建表
CREATE TABLE ... LIKE...
#再插入數(shù)據(jù)
INSERT INTO ... SELECT ...

雖然之前的單條 SQL 能簡單快速的導(dǎo)數(shù)到另一張表,但為了安全可以適當(dāng)麻煩一點(diǎn)。

MySQL 8.0

好消息是從 MySQL8.0.21 開始,支持原子 DDL 的存儲(chǔ)引擎允許使用 CREATE TABLE ... SELECT ... 語句了。

以上就是MySQL 遷移后無法快速導(dǎo)數(shù)據(jù)問題解決的詳細(xì)內(nèi)容,更多關(guān)于MySQL遷移導(dǎo)數(shù)據(jù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 一次docker登錄mysql報(bào)錯(cuò)問題的實(shí)戰(zhàn)記錄

    一次docker登錄mysql報(bào)錯(cuò)問題的實(shí)戰(zhàn)記錄

    這篇文章主要給大家介紹了一次docker登錄mysql報(bào)錯(cuò)問題的實(shí)戰(zhàn)記錄,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用docker具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01
  • Mysql數(shù)據(jù)庫事務(wù)的臟讀幻讀及不可重復(fù)讀詳解

    Mysql數(shù)據(jù)庫事務(wù)的臟讀幻讀及不可重復(fù)讀詳解

    這篇文章主要為大家介紹了Mysql數(shù)據(jù)庫事務(wù)的臟讀幻讀及不可重復(fù)讀詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • master and slave have equal MySQL server ids

    master and slave have equal MySQL server ids

    Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids
    2013-07-07
  • 解決mysql5.6 utf8設(shè)置無效問題

    解決mysql5.6 utf8設(shè)置無效問題

    這篇文章主要介紹了mysql5.6 utf8設(shè)置無效問題,本文雖然內(nèi)容不長,但是解決方法給出,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • mysql按天/小時(shí)/半小時(shí)/N分鐘/分鐘進(jìn)行數(shù)據(jù)分組統(tǒng)計(jì)功能

    mysql按天/小時(shí)/半小時(shí)/N分鐘/分鐘進(jìn)行數(shù)據(jù)分組統(tǒng)計(jì)功能

    我們在做項(xiàng)目或者數(shù)據(jù)分析時(shí),經(jīng)常遇到這樣的需求:統(tǒng)計(jì)不同時(shí)間粒度下的數(shù)據(jù)分布情況,例如,每一天中每個(gè)小時(shí)網(wǎng)站的訪問量,某路口每半個(gè)小時(shí)通過的車輛數(shù)量等,下面給大家分享mysql按天/小時(shí)/半小時(shí)/N分鐘/分鐘進(jìn)行數(shù)據(jù)分組統(tǒng)計(jì)功能,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • MySQL循環(huán)插入千萬級數(shù)據(jù)

    MySQL循環(huán)插入千萬級數(shù)據(jù)

    這篇文章主要介紹了MySQL如何實(shí)現(xiàn)循環(huán)插入千萬級數(shù)據(jù),幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-09-09
  • mysql的分區(qū)技術(shù)詳細(xì)介紹

    mysql的分區(qū)技術(shù)詳細(xì)介紹

    這篇文章主要介紹了mysql的分區(qū)技術(shù)詳細(xì)介紹,本文講解了分區(qū)技術(shù)概述、分區(qū)的類型及分區(qū)操作等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • MySQL清空所有表的數(shù)據(jù)方法示例

    MySQL清空所有表的數(shù)據(jù)方法示例

    本文主要介紹了MySQL清空所有表的數(shù)據(jù)方法示例,要清空MySQL數(shù)據(jù)庫中所有表的數(shù)據(jù),但保留表結(jié)構(gòu),下面就介紹了幾種常用的方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07
  • MySQL的的數(shù)據(jù)一致性保障與延遲問題處理

    MySQL的的數(shù)據(jù)一致性保障與延遲問題處理

    在分布式數(shù)據(jù)庫和高并發(fā)應(yīng)用場景下,數(shù)據(jù)一致性 和 數(shù)據(jù)延遲 是兩個(gè)不可忽視的問題,MySQL 作為廣泛使用的關(guān)系型數(shù)據(jù)庫,提供了多種機(jī)制來保障數(shù)據(jù)一致性,本文將深入探討 MySQL 如何保障數(shù)據(jù)一致性 以及 應(yīng)對數(shù)據(jù)延遲的策略,需要的朋友可以參考下
    2025-03-03
  • mysql關(guān)聯(lián)查詢速度慢的問題及解決

    mysql關(guān)聯(lián)查詢速度慢的問題及解決

    這篇文章主要介紹了mysql關(guān)聯(lián)查詢速度慢的問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03

最新評論