INFORMATION_SCHEMA.TABLES 中的 Amazon Aurora CREATE_TIME 為 NULL
我們正在執行一個模擬 MySQL 5.6.10 的 Amazon Aurora 數據庫。對於我們所有的表,SHOW TABLE STATUS和INFORMATION_SCHEMA.TABLES 中的 CREATE_TIME始終為 NULL。
這是一個錯誤,Aurora 架構的限制,還是我做錯了什麼?這些資訊在其他地方是否可用?
db2 information_schema> SELECT DISTINCT TABLE_SCHEMA FROM information_schema.TABLES WHERE CREATE_TIME IS NOT NULL; +--------------------+ | TABLE_SCHEMA | +--------------------+ | information_schema | | mysql | +--------------------+ 2 rows in set (9.00 sec)
附加說明:我們在多個不同主機上的數百個數據庫中擁有數千個表;許多表是在打開每個表文件的情況下創建的,有些則關閉了它。我們無權訪問 .frm 文件,它們可能存在也可能不存在於 Aurora 中。這在 MySQL 中一直對我們有用。
更新:亞馬遜支持人員含糊地告訴我們,這是一個錯誤,“將在以後的版本中更正”。仍然有興趣知道這是否會追溯可用,或者是否有其他地方可以得到這個,因為亞馬遜沒有詳細說明。
這是來自 AWS 的回應——他們同意使用 TABLE_COMMENT 列是前進的方向。我還可以確認我們已經成功實施了這個解決方案。
你好,
感謝您聯繫 AWS 高級支持。我的名字是 Vidyadhar,很高興在這個案子上為您提供幫助。
從案例描述中,我了解到您注意到 information_schema.tables 的 create_time 列中只有空值。您正在根據 MySQL 中此列中的值刪除舊表。現在,您想知道不在 Aurora 中顯示創建時間的原因以及滿足您要求的替代方法。
只是為了讓您知道,MySQL 中有一個已知的錯誤,與分區列的 create_time 將為 null 相關。這已在 MySQL 5.6.25 版本中修復。請查看以下連結以供參考。
https://bugs.mysql.com/bug.php?id=69990
在極光中,該列對於所有表(包括分區表)都將為 NULL。這已通知服務團隊。此外,目前在 Aurora 中沒有可用的解決方法。
最好的選擇是利用表評論會話作為解決方法來記錄表的創建時間並相應地進行表刪除。您可以查看 information_schema.tables 中的 TABLE_COMMENT 列。請參考下面的範例,這可能會有所幫助。
MySQL [test]> create table S1(id int) comment='2017-09-21 15:53:51'; Query OK, 0 rows affected (0.02 sec) MySQL [test]> show create table S1\G *************************** 1. row *************************** Table: S1 Create Table: CREATE TABLE `S1` ( `id` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='2017-09-21 15:53:51' 1 row in set (0.00 sec) MySQL [test]> select TABLE_SCHEMA,TABLE_NAME,TABLE_COMMENT from information_schema.tables where table_schema='test' and table_name='S1'; +--------------+------------+---------------------+ | TABLE_SCHEMA | TABLE_NAME | TABLE_COMMENT | +--------------+------------+---------------------+ | test | S1 | 2017-09-21 15:53:51 | +--------------+------------+---------------------+ 1 row in set (0.01 sec)
對於給您帶來的不便,我深表歉意。Aurora 服務團隊正在努力添加功能和修復錯誤。截至目前,我無法提供任何 ETA,但肯定會在未來的版本中修復。
我希望這些資訊對你有用。如果您有任何其他問題或疑慮,請隨時與我聯繫。
祝你有美好的一天!