2012-09-13 58 views
3

我在Ubuntu 10.04上運行MySQL 5.1,直到最近,我使用默認的數據目錄位置。配置文件的其他部分進行了性能調整,但路徑保持默認。數據目錄移動後MySQL不會啓動。

最近,我開始用盡空間並決定添加另一個硬盤,將其掛載爲/ mysql,並僅將其用於MySQL數據。所以,我改變了路徑,將舊的數據目錄複製到新的數據目錄中,並認爲這將是其結束。

不幸的是,事實並非如此 - 儘管我更新了MySQL配置文件以反映新路徑,但它後來發現apparmor是個問題。經過一番搞砸,禁用apparmor,服務器將工作,我能夠導入大型數據庫,這是我需要更多空間的原因。

現在,這是昨天 - 整個200GB的數據庫被導入,鍵被排序,一切似乎都很好,直到我今天嘗試啓動服務器。下面是我在日誌中看到的錯誤:

120913 13:53:38 InnoDB: Operating system error number 2 in a file operation. 
InnoDB: The error means the system cannot find the path specified. 
InnoDB: If you are installing InnoDB, remember that you must create 
InnoDB: directories yourself, InnoDB does not create them. 
InnoDB: File name /home/{my_username}/mysql/data/ibdata1 
InnoDB: File operation call: 'create'. 
InnoDB: Cannot continue operation. 

這裏與那幾個奇怪的事情:

一)我須藤-ED在爲根用戶,我使用「服務的mysql啓動'命令來啓動它 b)在任何配置中沒有提及/ home/{my_username} ...任何路徑。

我找不到有關此類問題的任何信息或錯誤報告。我甚至不知道我會尋找什麼,因爲這個問題不能在兩段以內解釋清楚。

進一步的信息:手動設置innodb_data_home_dir消除了先前的問題,不過,現在我得到這個代替:

120913 14:08:06 InnoDB: Operating system error number 2 in a file operation. 
InnoDB: The error means the system cannot find the path specified. 
InnoDB: If you are installing InnoDB, remember that you must create 
InnoDB: directories yourself, InnoDB does not create them. 
InnoDB: File name /home/poplar/mysql/innodb-logs/ib_logfile0 
InnoDB: File operation call: 'create'. 
InnoDB: Cannot continue operation. 

現在,有此框沒有「白楊」的用戶,而我還沒有得到最隱祕的想法是爲什麼它會試圖將日誌文件放在那裏。

回答

2

嗯,事實證明,設置innodb_log_group_home_dir到新的MySQL數據目錄(我的日誌之前,以及它應該默認爲無論如何)的伎倆。

服務器現在正常啓動,所有數據似乎都在那裏。

我仍然不知道它在哪裏得到'poplar'用戶名作爲一個好主意來嘗試放置日誌文件,但它可能是一些來自AppArmor的剩餘(錯誤)配置,在我沒有完全重新設置時卸載它。