2013-07-17 123 views
2

我正在使用mysql本地數據庫存儲來自我創建的兩個ruby腳本的一些數據。問題是,每當我重新啓動或關閉我的電腦我的數據庫似乎遭到損壞,當我試圖訪問它,它會顯示以下錯誤: Can't connect to MySQL server on 'Andres-MacBook-Air-3.local' (61) (Mysql2::Error)關閉或重新啓動計算機後丟失或損壞的mysql表

然後我用下面的命令(這是我發現的,而周圍的Googling )以恢復連接:

cd /usr/local/mysql 
sudo ./bin/mysqld_safe 
(Enter your password, if necessary) 
(Press Control-Z) 
bg 

後,我這樣做,我可以連接到數據庫但是當我試圖訪問一個表下面的錯誤出現:

Error retrieving table information 
An error occurred while retrieving the information for table 'fourCheckins'. Please try again. 

MySQL said: Table 'trackpuntos.fourcheckins' doesn't exist 

我認爲關閉/重新啓動計算機會導致問題,因爲此相同的情況發生了兩次。幸運的是,在我第一次執行常規的mysqldumps之後。

有沒有人有這究竟是爲什麼/如何防止它的想法?

我運行MySQL 5.6.12,上運行OS獅子一臺MacBook Air。

謝謝

回答

3

我一直在過去一週有同樣的問題。我發現InnoDB數據庫在打開數據庫連接時被損壞,並關閉/重新啓動計算機。

我已經通過我的Mac自制升級mysql安裝5.6無意的。按照以下說明,我只是將mysql重新打包到5.5.29。降級到5.5後,我再次設置我的數據庫,打開一堆連接,然後關閉計算機。重新啓動後,我沒有損壞。希望它會保持這種方式!

注:路徑可能爲你的系統是不同的

  1. 卸載5.6通過自制

    $ brew uninstall mysql 
    $ rm -rf /usr/local/var/mysql 
    
  2. 的MySQL通過自制安裝的MySQL 5.5.29

    $ cd /usr/local/Library/Formula 
    $ git checkout -b mysql-5.5.29 336c97637c5449018cde59f7d2a87a298692da08 
    $ brew install mysql 
    
  3. 遵守所有mysql的安裝後步驟...

    $ unset TMPDIR 
    $ mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp 
    $ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist 
    $ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist 
    
  4. 重置homebrew到master!重要!

    $ git checkout master 
    

最後,不要泡MySQL升級到5.6更穩定!

+0

Thanks @Uysrc!我會嘗試,因爲我目前停止我的MySQL服務器,每當我必須關閉/重新啓動我的電腦。這個週末我將數據庫移動到服務器上,以避免這種情況,然後嘗試你的解決方案。再次感謝。 –

0

我不得不重新啓動後,同樣的問題......只是停止和重新啓動MySQL和我的數據庫中後工作正常。

相關問題