我使用create Raw Data Files進行mysql-master-slave複製,設置完成後,在分區表上查詢時返回table xxx doesn't exists
,但在其他表上查詢無誤。mysql主從分區表不存在
而且,當我更改爲使用mysqldump時,一切正常。
任何人都可以幫助我解決這個問題嗎?
我使用create Raw Data Files進行mysql-master-slave複製,設置完成後,在分區表上查詢時返回table xxx doesn't exists
,但在其他表上查詢無誤。mysql主從分區表不存在
而且,當我更改爲使用mysqldump時,一切正常。
任何人都可以幫助我解決這個問題嗎?
如果分區表無法正常工作,但其他表無法正常工作,並且mysqldump工作正常,我最好猜測的是您的分區數據不會與其餘數據存儲在同一位置。因此,當您使用tar,zip或rsync方法來複制您的數據目錄時,您省略了構成分區表的數據。您需要找到分區數據的存儲位置,並將其與數據目錄的其餘部分一起移動。
然而,根據您的評論,你有所謂的famous Schrodinger table。基於Schrodinger's Cat悖論,這是Mysql認爲該表存在的位置,因爲它在您運行show tables
時顯示,但不允許您查詢該表;因爲它存在但不存在。
通常這是因爲未正確複製元數據(如ibdata1
文件和ib_logfiles
)。你可以做的一件事情是,如果可能的話,removepartition從表中再次嘗試你的rsync。如果您仍然收到此錯誤,則與表格分區無關。然後,這個測試會讓我相信你沒有正確地複製所有的數據。
謝謝,但是我確定分區數據在同一個地方,我比較整個數據目錄,發現兩個目錄的文件都是一樣的,'show tables'也列出了分區表,但是不能查詢。 – Jason
再次感謝,現在我換了在Ubuntu上運行的master,它工作正常(在windows8.1之前),我猜這兩個os之間運行mysql有些不同,但我找不到答案。 – Jason