当我在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
不要按照第一个答案这是一个非常糟糕的问题。
如果你正确地阅读这行,你会看到没有问题,导致没有损坏的表或其他东西可以find
“检查腐败,不干净closures和升级需要表”,所以一切都很好。
夫妇的select,这对我有用。 1)find你的debian上运行的所有MySql进程:
ps -A | grep mysql
如果有任何运行,杀死它:
kill -9 <ps_number which is second column number>
2)其他选项是启动mysql与本地主机和典型的端口号
sudo mysql -h 127.0.0.1 -P 3306 -u root -p <database>
https://stackoverflow.com/a/11658142/2523431
3)最野蛮的一个; 卸载mysql并重新安装(在其他一些post上find的解决scheme,但此刻不能链接给予信用):使用命令:
sudo apt-get remove --purge mysql\*
你可以删除任何与名为mysql的软件包相关的东西 这些命令只适用于基于Debian / Debian的Linux发行版(例如Ubuntu)。 你可以列出所有安装的mysql包:
sudo dpkg -l | grep -i mysql
为了更多的清理包caching,你可以:
sudo apt-get clean
记得:
sudo updatedb
否则,“locate”命令将显示旧数据。 要再次安装mysql,请使用以下命令:
sudo apt-get install libmysqlclient-dev mysql-client
这将安装mysql客户端,libmysql及其头文件。 要安装服务器,运行这个:
sudo apt-get install mysql-server
还有其他的select,比如覆盖configuration文件,但是在我的情况下(我在基于Debian的Kali Linux上运行mysql)没有任何帮助。
顺便说一句,不要忘记用命令closures系统:
shutdown -h now
它应该会阻止你在未来的进一步不便。