我执行了一个删除了大约 1800 万条记录的查询。执行此查询后,mysql 停止响应查询。我重新启动了服务器,现在无法使用以下命令启动 mysql 服务:
service mysql start
也许它只是打印错误,但我找不到错误日志文件。我正在运行 CentOS 6,并使用 yum 从其官方存储库安装了 mariaDB。
我应该怎么做才能启动 mysql?我不在乎查询是否被取消。我可以看到一些 mysqld 进程正在消耗 CPU 和 I/O。我想也许它仍在尝试执行此查询。
答案1
您写道“我无法启动 mysql 服务...”,但您可以看到一些 mysqld 进程。尝试执行:
service mysql status
如果服务已启动,则尝试停止它并在启用错误日志记录的情况下以安全模式运行 mariaDB。如果服务未启动,则尝试终止 mysqld 进程(注意责任)并在安全模式下运行 mariaDB。
有关安全模式的更多详细信息请参阅官方文档。
答案2
对于查看此内容的其他任何人,您还可以使用 mysqladmin 命令列出所有正在运行的查询,并在需要时有选择地终止它们。这将保留在该实例上执行的任何其他查询。
https://dev.mysql.com/doc/refman/5.5/en/mysqladmin.html
请注意,如果需要的话,SHOW VARIABLES 将返回 MySQL 日志的位置。