2015-11-20 29 views

回答

3

我在mariadb.com上發佈了這個問題,其中的建議是對某些已知數據執行grep。

使用strings命令代替,以更好地處理二進制數據,例如建議在Rackspace的甲DBA:

strings /var/lib/mysql/sample_table/user.ibd | grep "knownuser" 

該方法返回上一個加密表中沒有的結果和不上未加密的表返回結果(假設兩者都已加載「知名用戶」)。

0

我對測試的建議是將完整數據集複製到另一個沒有加密密鑰的節點,並嘗試啓動MySQL並查詢加密表。我做了一個(大的)假設,即由於缺少有效的加密密鑰,它們將不可讀。

解析磁盤上的文件可能會很困難,除非您有專門的工具來執行此操作。也許像傑里米科爾的innodb_ruby將是另一個試金石https://github.com/jeremycole/innodb_ruby

+0

謝謝。我會嘗試一下,然後回到這裏。我也在Mariadb.com知識庫上發佈了這個問題(https://mariadb.com/kb/en/mariadb/verifying-mariadb-101-encryption/ #comment_1823) – MarkRoland

+0

我還沒有機會測試這個,儘管它看起來像是一個合法的解決方案。我有另一個答案,我將在下面發佈。 – MarkRoland

0

[可能不工作,如果你改變其加密日誌的關鍵。]

  • 停止數據庫服務器。
  • 備份密鑰文件
  • 更改密鑰文件中的密鑰。 (不要刪除 - 它仍然必須保持有效的密鑰,否則服務器無法重新啓動)

  • 再次啓動MariaDB。

  • 嘗試閱讀表格(例如使用phpMyAdmin)。

如果正確加密,當試圖讀取加密表時會出現一個答案:「表被加密......」。

  • 停止瑪麗亞
  • 恢復備份
  • 重啓瑪麗亞
+0

我做了整體次數和mariadb完美的工作,當提供一個錯誤的密鑰,並將密鑰更改回原始時,我試圖在三個不同的服務器上。只有當您不提供有效的密鑰時纔會出現問題。所以我不能相信,這是造成這個問題的原因。 –

+0

啊,沒有提供有效的密鑰可能是我當時的問題!謝謝! – Druzion