我正在使用的軟件是使用MySQL服務器(版本5.0.52)。 某些數據庫是動態創建的,我需要列出這些數據庫的名稱(條件是包含具有不同特定名稱的兩個表的數據庫)。因此,我使用INFORMATION_SCHEMA MySQL查詢找到我所需要的:必須manualy重新啓動每2或3周可以在information_schema崩潰表上完成mysql查詢嗎?
SELECT distinct T.table_schema
FROM information_schema.`TABLES` T
inner join information_schema.`TABLES` T2
on T2.table_schema = T.table_schema
where T.table_schema like 'myBase_%'
and T.table_name like '%\_1'
and T2.table_schema like 'myBase_%'
and T2.table_name = 'myTable'
MySQL的服務,因爲一些表似乎崩潰或鎖定。來自pid3306_crash.err的錯誤消息(這是第一個錯誤,但是一旦我擁有此行,軟件試圖查詢的每個表都會出現此錯誤,給我5000行「無法找到文件」):
[ERROR] D:\MySQL\MySQL Server 5.0\bin\mysqld-nt: Cannot find the file: '.\myBase_56320\petiquettes_k_1.frm' (Errcode: 22)
我啓用了這個mysql實例的完整日誌,唯一可以訪問這個表的mysql查詢就是我引用的那個。沒有任何其他查詢與上面引用的第一個錯誤相關。 所以我的問題是:是否有可能對information_schema查詢崩潰我的基地,或者我應該看看其他地方?
謝謝。
我知道這個版本確實很舊,但由於許可證問題和工作環境的兼容性問題,我無法花費數月時間升級,而且我現在沒有時間去做。 我會嘗試進一步查看日誌以嘗試解釋它。 我會嘗試使用臨時tablse來查看它是否改變任何東西,謝謝。 – nivolas