首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法启动/停止mysql服务

问无法启动/停止mysql服务
EN

Server Fault用户
提问于 2009-06-27 16:31:33
回答 10查看 128.5K关注 0票数 31

在运行MySQL的情况下接管Debian服务器。

我通常使用以下方法启动、停止和重新启动msyql:

/etc/init.d/mysql重新启动

由于某种原因,在这个设置上,我得到了以下内容:

:~# /etc/init.d/mysql停止停止MySQL数据库服务器: mysqld失败!

mysql进程运行良好:

代码语言:javascript
复制
:~# ps aux | grep mysql 
root      2045  0.0  0.1   2676  1332 ?        S    Jun25   0:00 /bin/sh /usr/bin/mysqld_safe
mysql     2082  0.6 10.7 752544 111188 ?       Sl   Jun25  18:49 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock
root      2083  0.0  0.0   1568   504 ?        S    Jun25   0:00 logger -p daemon.err -t mysqld_safe -i -t mysqld
root     11063  0.0  0.0   2856   716 pts/0    S+   17:29   0:00 grep mysql

我相信有一些非常简单的方法来做,但我也想了解发生了什么。为什么典型的方式不适合我?

将更新编辑为更新:

代码语言:javascript
复制
JBRLSVR001:/var/log/mysql# mysqladmin shutdown
JBRLSVR001:/var/log/mysql# dpkg --list mysql\*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed 
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name                                         Version                                      Description
 +++-============================================-============================================-========================================================================================================
un  mysql-client                                 <none>                                       (no description available)
un  mysql-client-4.1                             <none>                                       (no description available)
ii  mysql-client-5.0                             5.0.32-7etch8                                mysql database client binaries
ii  mysql-common                                 5.0.32-7etch8                                mysql database common files (e.g. /etc/mysql /my.cnf)
un  mysql-common-4.1                             <none>                                       (no description available)
ii  mysql-server                                 5.0.32-7etch8                                mysql database server (meta package depending on the latest version)
un  mysql-server-4.1                             <none>                                       (no description available)
ii  mysql-server-5.0                             5.0.32-7etch8                                mysql database server binaries

mysqladmin关闭确实有效,但我仍然好奇为什么/etc/init.d/mysql命令不能工作。

EN

回答 10

Server Fault用户

回答已采纳

发布于 2009-06-27 16:58:14

代码语言:javascript
复制
mysqladmin shutdown

应该可以关闭服务器。

我看到了两种可能的可能性:

  1. MySQL有一个问题,因为某种原因拒绝关闭。
  2. 之前的管理员做了一些奇怪的事情。要么修改了init.d脚本,要么根本不用Debian包来安装MySQL。

dpkg --list mysql\*怎么说?

/var/log/mysql.err是怎么说的?还是其他mysql日志?

编辑:

那么mysqladmin shutdown起作用了吗?

根据这一点,已经安装了mysql服务器包(mysql 5.0;mysql-server包可能只是一个存根)。所以他们可能安装在上面了?运行debsums mysql-server-5.0可能会告诉您更多信息。dpkg --listfiles mysql-server-5.0也能帮上忙。

什么实际上在/etc/init.d/mysql中?我还没有检查包的特定版本,但是它应该尝试使用mysqladmin shutdown .也许你很幸运他们只打破了..。

票数 26
EN

Server Fault用户

发布于 2012-08-22 22:07:24

为什么会发生这样的事情

如果您执行mysql导入并覆盖mysql数据库本身,这是一个常见的问题,例如您可能要从mysqldump -A备份恢复。

这是一件好事:您可能希望备份所有mysql用户、权限等--但它可能会对用于干净关闭mysql的debian maint用户造成严重破坏。

虽然这个新数据库可能会同时更改根密码和debian-sys-maint密码,但它当然不会自动更改/etc/mysql/debian.cnf中预期的debian-sys密码。事实上,除非您也备份了该文件,否则您可能已经不知道密码是什么了!

重置mysql根密码(可选)

首先要做的是。如果mysql根密码在旧服务器和新服务器之间不同,则可以使用mysqladmin修复它:

代码语言:javascript
复制
mysql -p -u root password 'newpassword'

但是,当您安装mysql-server时,它可能会提示您输入新的mysql根密码,并且您可能使用的密码与以前使用的相同。

修复debian的主密码.

现在,查找debian在新服务器上安装debian时为您创建的debian密码。(您需要sudo,因为这应该是一个高度保护的文件。)

代码语言:javascript
复制
sudo cat /etc/mysql/debian.cnf

现在,使用上面设置的根密码登录到mysql:

代码语言:javascript
复制
mysql -p -u root   # use your new password when prompted

重置debian用户的密码,不要忘记刷新特权:

代码语言:javascript
复制
>  SET PASSWORD FOR 'debian-sys-maint'@'localhost' = PASSWORD('samepassword');
>  FLUSH PRIVILEGES;
>  QUIT

测试以确保其工作正常:

代码语言:javascript
复制
sudo /etc/init.d/mysql restart

快速提示如果您需要重置服务器的根密码而不需要关闭服务器,这个用户帐户就有权这样做--只需猫debian.cnf文件并与该用户登录即可。注意:保护这个用户帐户就像根用户帐户一样。

票数 22
EN

Server Fault用户

发布于 2009-06-27 23:10:53

代码语言:javascript
复制
pkill mysql

一定会起作用

票数 10
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/32692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档