数据库select错误

数据库select错误,它是我的问题,当我重新启动我的MySQL来解决这个错误,这个问题解决,但30分钟后,或之后再次发生这个错误再次发生。

我把这里的链​​接截图从ssh [腻子]的错误,我该怎么办? 这是什么原因发生的?

tail -f /var/log/mysqld.log 120813 17:33:57 InnoDB: Completed initialization of buffer pool 120813 17:33:57 InnoDB: highest supported file format is Barracuda. 120813 17:33:57 InnoDB: Waiting for the background threads to start 120813 17:33:58 InnoDB: 1.1.8 started; log sequence number 63473783633 120813 17:33:58 [ERROR] Column count of mysql.db is wrong. Expected 22, found 20. Created with MySQL 50092, now running 50516. Please use mysql_upgrade to fix this error. 120813 17:33:58 [ERROR] mysql.user has no `Event_priv` column at position 29 120813 17:33:58 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler. 120813 17:33:58 [Note] /usr/libexec/mysqld: ready for connections. Version: '5.5.16' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server (GPL) by Remi 

  1. 重新安装你的MySQL,但idont推荐使用mysql_upgrade
  2. 检查MySQL数据库中的用户表,它似乎有缺less列或行
  3. 修复损坏的数据库使用mysqlcheck -rA -u root -p

运行mysqlcheck,看到这里 – http://scottlinux.com/2012/06/09/use-mysqlcheck-to-optimize-and-repair-mysql-databases/

此外,检查你的RAM /磁盘没有问题。 另外,升级到您正在运行的任何版本的MySQL的最新版本。

如果您最近升级了mysql,那么您可能会丢失系统表中的某些列,或者只是没有正确升级。 看看mysql_upgrade 。 早期版本的MySQL,你必须使用mysql_fix_privilege_tables 。 5.5我相信它被删除。

不要忘记在数据库中做任何事情之前备份数据库。