Il mio problema è iniziato con il fatto che non ero più in grado di accedere come root sulla mia installazione mysql. Stavo tentando di eseguire mysql senza password attivate ... ma ogni volta che eseguivo il comando
# mysqld_safe --skip-grant-tables &
Non risponderei mai al prompt. Stavo cercando di seguire queste istruzioni per recuperare la password .
Lo schermo si presenta così:
root@jj-SFF-PC:/usr/bin# mysqld_safe --skip-grant-tables
120816 11:40:53 mysqld_safe Logging to syslog.
120816 11:40:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
e non viene richiesto di iniziare a digitare i comandi SQL per reimpostare la password.
Quando lo uccido premendo CTRL+ C, ricevo il seguente messaggio:
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
Se ritento il comando e lo lascio abbastanza a lungo, ricevo la seguente serie di messaggi:
root@jj-SFF-PC:/run/mysqld# 120816 13:15:02 mysqld_safe Logging to syslog.
120816 13:15:02 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120816 13:16:42 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
[1]+ Done mysqld_safe --skip-grant-tables
root@jj-SFF-PC:/run/mysqld#
Ma poi se provo ad accedere come root facendo:
# mysql -u root
Ricevo il seguente messaggio di errore:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Ho controllato e il /var/run/mysqld/mysqld.sock
file non esiste. La cartella lo fa, ma non il file.
Inoltre, non so se questo aiuta o no, ma ho corso find / -name mysqld
e mi è venuto in mente:
/var/run/mysqld - folder
/usr/sbin/mysqld - file
/run/mysqld - folder
Sono nuovo di Linux e MySQL, quindi non so se sia normale o meno. Ma sto includendo queste informazioni per ogni evenienza.
Alla fine ho deciso di disinstallare e reinstallare mysql.
apt-get remove mysql-server
apt-get remove mysql-client
apt-get remove mysql-common
apt-get remove phpmyadmin
Dopo aver reinstallato nuovamente tutti i pacchetti nello stesso ordine di cui sopra, durante l'installazione di phpmyadmin, ho ricevuto lo stesso errore:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Quindi ho provato di nuovo a disinstallare / reinstallare. Questa volta, dopo aver disinstallato i pacchetti, ho anche rinominato manualmente tutti i file e le directory mysql mysql.bad
nelle rispettive posizioni.
/var/lib/mysql
/var/lib/mysql/mysql
/var/log/mysql
/usr/lib/perl5/DBD/mysql
/usr/lib/perl5/auto/DBD/mysql
/usr/lib/mysql
/usr/bin/mysql
/usr/share/mysql
/usr/share/dbconfig-common/internal/mysql
/etc/init.d/mysql
/etc/apparmor.d/abstractions/mysql
/etc/mysql
Quindi ho provato a reinstallare mysql-server
e di mysql-client
nuovo. Ma ho notato che non mi richiede una password. Non dovrebbe chiedere una password amministratore?
/var/run/mysqld/mysqld.sock
mancante. Il problema che hai collegato ha quel file.