主頁 > 資料庫 > Navicat Keygen - 注冊機是怎么作業的?

Navicat Keygen - 注冊機是怎么作業的?

2020-09-21 14:10:42 資料庫

Navicat Keygen - 注冊機是怎么作業的?

1. 關鍵詞解釋.

  • Navicat激活公鑰

    這是一個2048位的RSA公鑰,Navicat使用這個公鑰來完成相關激活資訊的加密和解密,

    這個公鑰被作為 RCData 型別的資源儲存在 navicat.exe 當中,資源名為"ACTIVATIONPUBKEY",你可以使用一個叫Resource Hacker的軟體來查看它,這個公鑰的具體內容為:

    -----BEGIN PUBLIC KEY-----  
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw1dqF3SkCaAAmMzs889I  
    qdW9M2dIdh3jG9yPcmLnmJiGpBF4E9VHSMGe8oPAy2kJDmdNt4BcEygvssEfginv  
    a5t5jm352UAoDosUJkTXGQhpAWMF4fBmBpO3EedG62rOsqMBgmSdAyxCSPBRJIOF  
    R0QgZFbRnU0frj34fiVmgYiLuZSAmIbs8ZxiHPdp1oD4tUpvsFci4QJtYNjNnGU2  
    WPH6rvChGl1IRKrxMtqLielsvajUjyrgOC6NmymYMvZNER3htFEtL1eQbCyTfDmt  
    YyQ1Wt4Ot12lxf0wVIR5mcGN7XCXJRHOFHSf1gzXWabRSvmt1nrl7sW6cjxljuuQ  
    awIDAQAB  
    -----END PUBLIC KEY-----  
    

    如果您有相應的私鑰并樂意公開的話歡迎聯系我,我將非常感謝您的慷慨,

    注意:

    Navicat Premium 12.0.25 開始,Navicat不再從navicat.exe的資源中加載私鑰,事實上,公鑰轉為從libcc.dll中加載,并且已經被加密,與此同時,為了防止被輕松地替換,加密的公鑰被分到5個地方儲存:

    以下內容是從 Navicat Premium x64 12.0.25 簡體中文版libcc.dll中發現的,libcc.dll的SHA256值為607e0a84c75966b00f3d12fa833e91d159e4f51ac51b6ba66f98d0c3cbefdce0,我不保證在Navicat的其他版本中相關偏移量和下述的相同,但相關的 字串 以及 立即數 是很可能找得到的,

    1. libcc.dll中,檔案偏移量+0x01A12090的地方,儲存了加密公鑰的第一部分,以 字串 的形式儲存:

      "D75125B70767B94145B47C1CB3C0755E  
       7CCB8825C5DCE0C58ACF944E08280140  
       9A02472FAFFD1CD77864BB821AE36766  
       FEEDE6A24F12662954168BFA314BD950  
       32B9D82445355ED7BC0B880887D650F5" 
      
    2. libcc.dll中,檔案偏移量+0x0059D799的地方,儲存了加密公鑰的第二部分,以 立即數 的形式儲存在一條指令中:

      0xFE 0xEA 0xBC 0x01
      

      相應的十進制值為: 29158142

    3. libcc.dll中,檔案偏移量+0x01A11DA0的地方,儲存了加密公鑰的第三部分,以 字串 的形式儲存:

      "E1CED09B9C2186BF71A70C0FE2F1E0AE  
       F3BD6B75277AAB20DFAF3D110F75912B  
       FB63AC50EC4C48689D1502715243A79F  
       39FF2DE2BF15CE438FF885745ED54573  
       850E8A9F40EE2FF505EB7476F95ADB78  
       3B28CA374FAC4632892AB82FB3BF4715  
       FCFE6E82D03731FC3762B6AAC3DF1C3B  
       C646FE9CD3C62663A97EE72DB932A301  
       312B4A7633100C8CC357262C39A2B3A6  
       4B224F5276D5EDBDF0804DC3AC4B8351  
       62BB1969EAEBADC43D2511D6E0239287  
       81B167A48273B953378D3D2080CC0677  
       7E8A2364F0234B81064C5C739A8DA28D  
       C5889072BF37685CBC94C2D31D0179AD  
       86D8E3AA8090D4F0B281BE37E0143746  
       E6049CCC06899401264FA471C016A96C  
       79815B55BBC26B43052609D9D175FBCD  
       E455392F10E51EC162F51CF732E6BB39  
       1F56BBFD8D957DF3D4C55B71CEFD54B1  
       9C16D458757373E698D7E693A8FC3981  
       5A8BF03BA05EA8C8778D38F9873D62B4  
       460F41ACF997C30E7C3AF025FA171B5F  
       5AD4D6B15E95C27F6B35AD61875E5505  
       449B4E"
      
    4. libcc.dll中,檔案偏移量+0x0059D77F的地方,儲存了加密公鑰的第四部分,以 立即數 的形式儲存在一條指令中:

      0x59 0x08 0x01 0x00
      

      相應的十進制值為: 67673

    5. libcc.dll中,檔案偏移量+0x01A11D8C的地方,儲存了加密公鑰的第五部分,以 字串 的形式儲存:

      "92933"
      

    這五部分按照"%s%d%s%d%s"的形式輸出則為加密的公鑰,順序和上述的順序相同,具體的輸出為:

    
    D75125B70767B94145B47C1CB3C0755E7CCB8825C5DCE0C58ACF944E082801409A02472FAFFD1CD77864BB821AE36766FEEDE6A24F12662954168BFA314BD95032B9D82445355ED7BC0B880887D650F529158142E1CED09B9C2186BF71A70C0FE2F1E0AEF3BD6B75277AAB20DFAF3D110F75912BFB63AC50EC4C48689D1502715243A79F39FF2DE2BF15CE438FF885745ED54573850E8A9F40EE2FF505EB7476F95ADB783B28CA374FAC4632892AB82FB3BF4715FCFE6E82D03731FC3762B6AAC3DF1C3BC646FE9CD3C62663A97EE72DB932A301312B4A7633100C8CC357262C39A2B3A64B224F5276D5EDBDF0804DC3AC4B835162BB1969EAEBADC43D2511D6E023928781B167A48273B953378D3D2080CC06777E8A2364F0234B81064C5C739A8DA28DC5889072BF37685CBC94C2D31D0179AD86D8E3AA8090D4F0B281BE37E0143746E6049CCC06899401264FA471C016A96C79815B55BBC26B43052609D9D175FBCDE455392F10E51EC162F51CF732E6BB391F56BBFD8D957DF3D4C55B71CEFD54B19C16D458757373E698D7E693A8FC39815A8BF03BA05EA8C8778D38F9873D62B4460F41ACF997C30E7C3AF025FA171B5F5AD4D6B15E95C27F6B35AD61875E5505449B4E6767392933
    
    

    這個加密的公鑰可以用我的另外一個repo(how-does-navicat-encrypt-password)解密,其中密鑰為b'23970790'

    例如:

    E:\GitHub>git clone https://github.com/DoubleLabyrinth/how-does-navicat-encrypt-password.git
    ...
    E:\GitHub>cd how-does-navicat-encrypt-password\python3
    E:\GitHub\how-does-navicat-encrypt-password\python3>python
    Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from NavicatCrypto import *
    >>> cipher = Navicat11Crypto(b'23970790')
    >>> print(cipher.DecryptString('D75125B70767B94145B47C1CB3C0755E7CCB8825C5DCE0C58ACF944E082801409A02472FAFFD1CD77864BB821AE36766FEEDE6A24F12662954168BFA314BD95032B9D82445355ED7BC0B880887D650F529158142E1CED09B9C2186BF71A70C0FE2F1E0AEF3BD6B75277AAB20DFAF3D110F75912BFB63AC50EC4C48689D1502715243A79F39FF2DE2BF15CE438FF885745ED54573850E8A9F40EE2FF505EB7476F95ADB783B28CA374FAC4632892AB82FB3BF4715FCFE6E82D03731FC3762B6AAC3DF1C3BC646FE9CD3C62663A97EE72DB932A301312B4A7633100C8CC357262C39A2B3A64B224F5276D5EDBDF0804DC3AC4B835162BB1969EAEBADC43D2511D6E023928781B167A48273B953378D3D2080CC06777E8A2364F0234B81064C5C739A8DA28DC5889072BF37685CBC94C2D31D0179AD86D8E3AA8090D4F0B281BE37E0143746E6049CCC06899401264FA471C016A96C79815B55BBC26B43052609D9D175FBCDE455392F10E51EC162F51CF732E6BB391F56BBFD8D957DF3D4C55B71CEFD54B19C16D458757373E698D7E693A8FC39815A8BF03BA05EA8C8778D38F9873D62B4460F41ACF997C30E7C3AF025FA171B5F5AD4D6B15E95C27F6B35AD61875E5505449B4E6767392933'))
    -----BEGIN PUBLIC KEY-----
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw1dqF3SkCaAAmMzs889I
    qdW9M2dIdh3jG9yPcmLnmJiGpBF4E9VHSMGe8oPAy2kJDmdNt4BcEygvssEfginv
    a5t5jm352UAoDosUJkTXGQhpAWMF4fBmBpO3EedG62rOsqMBgmSdAyxCSPBRJIOF
    R0QgZFbRnU0frj34fiVmgYiLuZSAmIbs8ZxiHPdp1oD4tUpvsFci4QJtYNjNnGU2
    WPH6rvChGl1IRKrxMtqLielsvajUjyrgOC6NmymYMvZNER3htFEtL1eQbCyTfDmt
    YyQ1Wt4Ot12lxf0wVIR5mcGN7XCXJRHOFHSf1gzXWabRSvmt1nrl7sW6cjxljuuQ
    awIDAQAB
    -----END PUBLIC KEY-----

    注意:

    Navicat Premium 12.1.11 開始,Navicat不再用上面說的方法加載密鑰,當然密鑰還是儲存在libcc.dll檔案中,當Navicat啟動時,它會用8位元組長的XOR密鑰來加密公鑰,并儲存到一個靜態資料區中,當驗證 激活碼 時,Navicat會重新生成一樣的8位元組XOR密鑰,并解密在靜態儲存區中的密文,從而獲取公鑰,

    libcc.dll,x64版本中,你會看到如下的幾條指令:

    xoreax,'M'
    mov byte_xxxxxx,al
    ...
    xoreax,'I'
    mov byte_xxxxxx,al
    ...
    xoreax,'I'
    mov byte_xxxxxx,al
    ...
    xoreax,'B'
    mov byte_xxxxxx,al
    ...
    xoreax,'I'
    mov byte_xxxxxx,al
    ...
    xoreax,'j'
    mov byte_xxxxxx,al
    ...
    ...
  • 請求碼

    這是一個Base64編碼的字串,代表的是長度為256位元組的資料,這256位元組的資料是 離線激活資訊Navicat激活公鑰 加密的密文,

  • 離線激活請求資訊

    這是一個JSON風格的字串,它包含了3個Key:"K""DI""P",分別代表 序列號設備識別碼(與你的電腦硬體資訊相關)和 平臺 (其實就是作業系統型別),

    例如:

    {"K": "xxxxxxxxxxxxxxxx", "DI": "yyyyyyyyyyyyy", "P": "WIN8"}
    
  • 激活碼

    這是一個Base64編碼的字串,代表的是長度為256位元組的資料,這256位元組的資料是 離線激活回復資訊Navicat激活私鑰 加密的密文,目前我們不知道官方的 Navicat激活私鑰,所以我們得替換掉軟體里的公鑰,

  • 離線激活回復資訊

    離線激活請求資訊 一樣,它也是一個JSON風格的字串,但是它包含5個Key,分別為"K""N""O""T""DI".

    "K""DI" 的意義與 離線激活請求資訊 中的相同,且Value必須與 離線激活請求資訊 中的相同,

    "N""O""T" 分別代表 注冊名組織授權時間

    注冊名組織 的值型別為UTF-8編碼的字串,授權時間 的值型別可以為字串或整數(感謝@Wizr在issue #10中的報告),

    "T" 可以被省略,

  • 序列號

    這是一個被分為了4個部分的字串,其中每個部分都是4個字符長,

    序列號 是通過10個位元組的資料來生成的,為了表達方便,我用 uint8_t data[10] 來表示這10個位元組,

    1. data[0]data[1] 必須分別為 0x680x2A

      這兩個位元組為Navicat的標志數,

    2. data[2]data[3]data[4] 可以是任意位元組,你想設成什么都行,

    3. data[5]data[6] 是Navicat的語言標志,值如下:

      語言型別data[5]data[6]發現者
      English 0xAC 0x88  
      簡體中文 0xCE 0x32  
      繁體中文 0xAA 0x99  
      日本語 0xAD 0x82 @dragonflylee
      Polski 0xBB 0x55 @dragonflylee
      Espa?ol 0xAE 0x10 @dragonflylee
      Fran?ais 0xFA 0x20 @Deltafox79
      Deutsch 0xB1 0x60 @dragonflylee
      ??? 0xB5 0x60 @dragonflylee
      Русский 0xEE 0x16 @dragonflylee
      Português 0xCD 0x49 @dragonflylee
    4. data[7] 是Navicat產品ID,(感謝 @dragonflylee 和 @Deltafox79提供的資料)

      產品名EnterpriseStandardEducationalEssentials
      Navicat Report Viewer 0x0B      
      Navicat Data Modeler 3   0x84 0x85  
      Navicat Premium 0x65   0x66 0x67
      Navicat MySQL 0x68 0x69 0x6A 0x6B
      Navicat PostgreSQL 0x6C 0x6D 0x6E 0x6F
      Navicat Oracle 0x70 0x71 0x72 0x73
      Navicat SQL Server 0x74 0x75 0x76 0x77
      Navicat SQLite 0x78 0x79 0x7A 0x7B
      Navicat MariaDB 0x7C 0x7D 0x7E 0x7F
      Navicat MongoDB 0x80 0x81 0x82  
    5. data[8] 的高4位代表 版本號,低4位未知,但可以用來延長激活期限,可取的值有00000001

      例如:

      對于 Navicat 12: 高4位必須是1100,為12的二進制形式,
      對于 Navicat 11: 高4位必須是1011,為11的二進制形式,

    6. data[9] 目前暫未知,但如果你想要 not-for-resale license 的話可以設成0xFD0xFC0xFB

      根據 Navicat 12 for Mac x64 版本殘留的符號資訊可知:

      • 0xFBNot-For-Resale-30-days license.
      • 0xFCNot-For-Resale-90-days license.
      • 0xFDNot-For-Resale-365-days license.
      • 0xFENot-For-Resale license.
      • 0xFFSite license.

    之后Navicat使用 ECB 模式的 DES 演算法來加密 data[10] 的后8位元組,也就是 data[2]data[9] 的部分,

    相應的DES密鑰為:

    unsigned char DESKey = { 0x64, 0xAD, 0xF3, 0x2F, 0xAE, 0xF2, 0x1A, 0x27 };

    之后使用Base32編碼 data[10],其中編碼表改為:

    char EncodeTable[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";

    編碼之后你應該會得到一個16位元組長的字串,并且以"NAV"打頭,

    將16位元組的字串分成4個4位元組的小塊,然后用"-"連接就可以得到 序列號

2. 激活程序

  1. 檢查用戶輸入的 序列號 是否合法,

  2. 在用戶點擊了激活按鈕之后,Navicat會先嘗試在線激活,如果失敗,用戶可以選擇離線激活,

  3. Navicat會使用用戶輸入的 序列號 以及從用戶電腦收集來的資訊生成 離線激活請求資訊,然后用 Navicat激活公鑰 加密,并將密文用Base64編碼,最后得到 請求碼

  4. 正常流程下,請求碼 應該通過可聯網的電腦發送給Navicat的官方激活服務器,之后Navicat的官方激活服務器會回傳一個合法的 激活碼

    但現在我們使用注冊機來扮演官方激活服務器的角色,只是Navicat軟體里的激活公鑰得換成自己的公鑰:

    1. 根據 請求碼, 獲得"DI"值和"K"值,

    2. "K"值、用戶名、組織名和"DI"值填寫 離線激活回復資訊

    3. 用自己的2048位RSA私鑰加密 離線激活回復資訊,你將會得到256位元組的密文,

    4. 用Base64編碼這256位元組的密文,就可以得到 激活碼

    5. 在Navicat軟體中填入 激活碼 即可完成離線激活,

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/97506.html

標籤:MySQL

上一篇:MySQL Last_SQL_Errno: 1062----經典錯誤,主鍵沖突

下一篇:MySQL 有關MHA搭建與切換的幾個錯誤log

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more