关闭或重新启动计算机后丢失或损坏的mysql表

问题描述:

我正在使用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。

谢谢

我一直在过去一周有同样的问题。我发现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服务器,每当我必须关闭/重新启动我的电脑。这个周末我将数据库移动到服务器上,以避免这种情况,然后尝试你的解决方案。再次感谢。 –

我不得不重新启动后,同样的问题......只是停止和重新启动MySQL和我的数据库中后工作正常。