MySQL Administration

Authentifizierungsproblem von debian-sys-maint

Wenn auf ubuntu- oder debian-Systemen der Benutzer debian-sys-maint nicht authentifiziert werden kann, äußert sich das beispielsweise so:

root@vs245088:/etc/init.d# ./mysql stop
Stopping MySQL database server: mysqld failed!
root@vs245088:/etc/init.d# ./mysql start
Starting MySQL database server: mysqld already running.
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'

In diesem Fall konnte der MySQL-Dienst nicht neu gestartet werden. Dies ist insbesondere ärgerlich, wenn die Datenbank auch bei einem (automatischen) update nicht neu gestartet wird und apt-get dann entsprechende Fehler liefert.

Abhilfe ist wie folgt möglich:

cat /etc/mysql/debian.cnf

Es erscheint eine Ausgabe:

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

Hier das Passwort xxxxxx kopieren und in der MySQL-Konsole alle Rechte für debian-sys-maint vergeben:

mysql -u root -p

mysql> GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'xxxxxx';

Danach kann die Datenbank vom Startscript wieder neu gestartet werden:

sudo /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..

Quelle: https://mirzmaster.wordpress.com/2009/01/16/mysql-access-denied-for-user-debian-sys-maintlocalhost/

Laufende User-Prozesse anzeigen

Mit folgendem SQL-Statement können alle laufenden User-Prozesse auf dem mysql-Server angezeigt werden:

show processlist;

Laufenden User-Prozess beenden

Mit folgendem SQL-Statement kann ein User-Prozess auf dem mysql-Server beendet werden:

kill <pid>;