由于某种原因,我的when主机会在任意时间重新启动承载我的CentOS VPS的服务器,当这种情况发生时,经常会导致我的MySQL表崩溃。该表处理站点PHP会话(一个由PHP驱动的Joomla站点)。
站点获得了相当数量的流量,因此当VPS重新启动时,会话表经常被写入。
我能做些什么来阻止这一切发生吗?当服务器获得重新启动命令时,可能是某种类型的软MySQL关机吗?
我现在所做的唯一一件事就是在服务器恢复时自动修复表。
发布于 2012-03-05 13:29:25
您可以切换到数据库上的InnoDB表,或者使用支持完全符合ACID的事务的数据库系统;PostgreSQL可以这样做,并且可以在不破坏数据库的情况下崩溃(它只需要在完成启动过程之前重放日记)。
MySQL的默认表不是崩溃安全的。我甚至不确定我是否会认为InnoDB崩溃安全,但它与您在不切换到另一个产品的情况下实际得到的一样接近,而且我认为这对您来说不是一种选择。
发布于 2012-03-05 13:05:48
更改you主机,如果您正在租用VPS,那么您的主机就没有理由随机重新启动您的服务器。通常,当系统停止时,MySQL会正常关闭。我怀疑您的提供者只是发出了一个杀死命令,而不是适当的关闭。
发布于 2012-03-05 13:05:34
您使用的是MySQL包CentOS提供的吗?如果是,则应该通过/etc/init.d/mysqld脚本关闭mysqld。下面的命令返回什么?
sudo chkconfig --list mysqld如果每个运行级别都是"off“,请尝试运行
sudo chkconfig on mysqldhttps://serverfault.com/questions/366436
复制相似问题