web-dev-qa-db-ja.com

MySQLデータベースサーバーの停止:mysqldが失敗しました

基本的に、mysqlサーバーサービスをsopしたい場合:

Sudo /etc/init.d/mysql stop

私はこのエラーメッセージを受け取っています:

[FAIL] Stopping MySQL database server: mysqld failed!

これを解決するためのいくつかの研究の後、私はこのTo-Doステップに従いました:

Sudo cat /etc/mysql/debian.cnf

それは私に次のようなものを与えます:

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
Host     = localhost
user     = debian-sys-maint
password = xXxXxXxXxXxX
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
Host     = localhost
user     = debian-sys-maint
password = xXxXxXxXxXxX
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

その後、私はやった

mysql -u root -p

そして最後に

GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'xXxXxXxXxXxX' WITH GRANT OPTION;

これはうまくいくはずですが、ここで別のエラーが発生しています:

ERROR 1045 (28000): Access denied for user 'root'@'%' (using password: NO)

実際、私はその前にいくつかの間違いをしました、これを実行します:DELETE * FROM mysq.user WHERE Host = 'localhost'。

現在、ユーザーは1人しか残っていませんが、彼には何も許可する権限がないようです:

mysql> select Host, user from mysql.user;
+------------------+--------------+
| Host             | user         |
+------------------+--------------+
| %                | root         |
+------------------+--------------+
1 rows in set (0.00 sec

これを処理する方法はありますか?実際、私はmysqlサーバーを削除して、最初からもう一度インストールしたいだけです。しかし、最初にmysqldを停止できるまで、削除は失敗します。

〜$ ps aux | grep mysql | grep -v grep

root      8252  0.0  0.0  12720  2776 pts/1    Ss+  09:42   0:00 /usr/bin/dpkg --status-fd 17 --configure mysql-common:all libmysqlclient18:AMD64 libdbd-mysql-Perl:AMD64 mysql-client-5.5:AMD64 mysql-server-core-5.5:AMD64 mysql-server-5.5:AMD64
root      8255  0.0  0.3  61372 14180 pts/1    S+   09:42   0:00 /usr/bin/Perl -w /usr/share/debconf/frontend /var/lib/dpkg/info/mysql-server-5.5.postinst configure 5.5.38-0+wheezy1
root      8265  0.0  0.0  10900  1676 pts/1    S+   09:42   0:00 /bin/bash /var/lib/dpkg/info/mysql-server-5.5.postinst configure 5.5.38-0+wheezy1
root      8579  0.0  0.0  21656  2928 pts/1    S+   09:50   0:00 whiptail --backtitle Configuration package tools --title mysql-server-5.5 Configuration --output-fd 11 --nocancel --msgbox Impossible to change « root » password of MySQL 13 198
root     30566  0.0  0.0   4180   728 ?        S    00:41   0:00 /bin/sh /usr/bin/mysqld_safe
mysql    30882  0.0  1.9 368500 77668 ?        Sl   00:41   0:16 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
root     30883  0.0  0.0   5588   696 ?        S    00:41   0:00 logger -t mysqld -p daemon.error

私はすでにそれを試しました:

Sudo apt-get remove mysql-server mysql-client mysql-common
Sudo apt-get purge mysql-server mysql-client mysql-common
Sudo apt-get autoremove
Sudo apt-get remove --purge mysql\*

そもそもmysqldを止められないので失敗したようです

9
Yoric

最初にそっと殺すSudo kill 30882、それが役に立たない場合は、火で殺すSudo kill -9 30882、 どこ 30882はmysqlプロセスのpidです。

10
Mon Calamari

同じ問題がありました。私が最初にやった

Sudo /etc/init.d/mysql restart

その後

Sudo /etc/init.d/mysql stop

働いた。

6
jul