当我在 Debian 中重新启动 mysql 服务器时,我总是有以下消息。如何使消息消失或修复问题/损坏的表?
debian:~# /etc/init.d/mysql restart
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
linux/var/log/syslog
显示
Jul 18 12:27:57 localhost mysqld: 140718 12:27:57 [Note] /usr/sbin/mysqld: Normal shutdown
Jul 18 12:27:57 localhost mysqld:
Jul 18 12:27:57 localhost mysqld: 140718 12:27:57 [Note] Event Scheduler: Purging the queue. 0 events
Jul 18 12:27:57 localhost mysqld: 140718 12:27:57 InnoDB: Starting shutdown...
Jul 18 12:27:58 localhost mysqld: 140718 12:27:58 InnoDB: Shutdown completed; log sequence number 0 44233
Jul 18 12:27:58 localhost mysqld: 140718 12:27:58 [Note] /usr/sbin/mysqld: Shutdown complete
Jul 18 12:27:58 localhost mysqld:
Jul 18 12:27:58 localhost mysqld_safe: mysqld from pid file /var/run/mysqld/mysqld.pid ended
Jul 18 12:28:00 localhost mysqld_safe: Starting mysqld daemon with databases from /mnt/user/mysql
Jul 18 12:28:00 localhost mysqld: 140718 12:28:00 [Note] Plugin 'FEDERATED' is disabled.
Jul 18 12:28:00 localhost mysqld: 140718 12:28:00 InnoDB: Started; log sequence number 0 44233
Jul 18 12:28:00 localhost mysqld: 140718 12:28:00 [Note] Event Scheduler: Loaded 0 events
Jul 18 12:28:00 localhost mysqld: 140718 12:28:00 [Note] /usr/sbin/mysqld: ready for connections.
Jul 18 12:28:00 localhost mysqld: Version: '5.1.49-3~bpo50+1' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Debian)
Jul 18 12:28:01 localhost /etc/mysql/debian-start[11601]: Upgrading MySQL tables if necessary.
Jul 18 12:28:01 localhost /etc/mysql/debian-start[11605]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
Jul 18 12:28:01 localhost /etc/mysql/debian-start[11605]: Looking for 'mysql' as: /usr/bin/mysql
Jul 18 12:28:01 localhost /etc/mysql/debian-start[11605]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Jul 18 12:28:01 localhost /etc/mysql/debian-start[11605]: This installation of MySQL is already upgraded to 5.1.49, use --force if you still need to run mysql_upgrade
Jul 18 12:28:01 localhost /etc/mysql/debian-start[11611]: Checking for insecure root accounts.
Jul 18 12:28:01 localhost /etc/mysql/debian-start[11615]: Triggering myisam-recover for all MyISAM tables
不要遵循第一个答案,这是一个非常糟糕的问题。
如果您正确阅读该行,您将看到没有问题,原因没有损坏表或可以找到任何其他内容
“检查是否损坏,未完全关闭并升级需要表”,所以一切正常。
对我有用的几个选项。1) 找到在你的 debian 上运行的所有 MySql 进程:
如果有任何运行,杀死它:
2) 其他选项是使用本地主机和典型端口号启动 mysql
https://stackoverflow.com/a/11658142/2523431
3)最野蛮的一种;卸载mysql并重新安装(在其他帖子上找到的解决方案,但目前无法回忆链接给予信用):使用命令:
您可以删除与名为 mysql 的包相关的任何内容。这些命令仅在基于 debian / debian 的 linux 发行版上有效(例如 ubuntu)。您可以列出所有安装的 mysql 软件包:
要对包缓存进行更多清理,您可以:
记得:
否则“定位”命令将显示旧数据。要再次安装 mysql,请使用以下命令:
这将安装 mysql 客户端、libmysql 及其头文件。要安装服务器,请运行这个:
还有其他人建议的其他选项,例如覆盖配置文件,但就我而言(我在基于 Debian 的 Kali Linux 上运行 mysql)没有帮助。
顺便说一句,不要忘记使用命令关闭系统:
它应该可以防止您在将来造成进一步的不便。