La mia installazione MySQL è rotta. Come riconfigurarlo completamente?

19

Ecco i seguenti comandi che ho fatto.

$ sudo service mysql start
mysql start/running

$ mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

$ aptitude search mysql |grep ^i
i   libapache2-mod-auth-mysql       - Module Apache 2 pour l'authentification vi
i   libdbd-mysql-perl               - Perl5 database interface to the MySQL data
i   libmysqlclient16                - MySQL database client library             
i   mysql-client-5.1                - MySQL database client binaries            
i   mysql-client-core-5.1           - MySQL database core client binaries       
i   mysql-common                    - MySQL database common files, e.g. /etc/mys
i   mysql-server-5.1                - MySQL database server binaries and system 
i   mysql-server-core-5.1           - MySQL database server binaries            
i   php5-mysql                      - MySQL module for php5                     
    
posta alm 19.10.2011 - 19:15

4 risposte

13

Prima di reinstallare controlla / var / log / mysql per i file di log che possono contenere indizi sul motivo per cui mysql non funziona. Se non ci sono registri, il log in file potrebbe non essere abilitato nella configurazione: Configura Mysql Error Log

Per reinstallare qualsiasi pacchetto usa

sudo apt-get install mysql-server-5.1 --reinstall

Se questo non ti consente di riconfigurare il pacchetto, puoi usare

sudo dpkg-reconfigure mysql-server-5.1
    
risposta data Ciaran Liedeman 19.10.2011 - 21:15
6

ERRORE 2002 (HY000): impossibile connettersi al socket MySQL server-through locale '/ tmp / mysql.sock' (2)

Nelle installazioni MySQL puoi specificare dove avremo il socket per le connessioni locali. Quando si effettuano gli aggiornamenti non è raro vedere l'errore "Impossibile connettersi al socket MySQL del server locale." Vediamo come risolvere questo problema.

L'errore è simile a questo:

Mysql-u root-p
Enter password:
ERROR 2002 (HY000): Can not connect to local MySQL server-through socket '/ tmp / mysql.sock' (2)

thru ps possiamo vedere se è specificato da parametro e il luogo in cui si trova:

# ps -fea | grep mysqld
mysql    17661 14003  1 Feb19 ?        00:24:59 /usr/local/mysql-percona/libexec/mysqld --basedir=/usr/local/mysql-percona --datadir=/var/data/mysql/datadir/data --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log
root     23790  7840  0 09:25 pts/0    00:00:00 grep mysqld

In questo caso vediamo che è in /var/lib/mysql/mysql.sock . Se non viene trovato come parametro, consultare la sezione mysqld di /etc/my.cnf per trovare il parametro:

grep socket /etc/my.cnf
socket=/var/lib/mysql/mysql.sock

Se sappiamo dov'è, dobbiamo modificare lo stesso file ( /etc/my.cnf ) e aggiungere il client socket della sezione parametri:

[client]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
    
risposta data hhlp 19.10.2011 - 21:59
2

Per gli ultimi spettatori:
    Sono arrivato all'errore simile quando non sono riuscito ad aggiornare il pacchetto mysql-server, ma ho trovato questo ha risolto il mio problema . Quando sudo apt-get install -f non funziona, prova sudo apt-get purge mysql* . Ora puoi reinstallare mysql-server.

    
risposta data artificerpi 15.04.2016 - 15:03
1

Uno dei problemi che sto incontrando è sapere con quale versione sto avendo problemi. Questa è stata un'idea chiara:

$ aptitude search mysql |grep ^i

Ma ecco cosa ho trovato fondamentale nel problema:

$ apt-get --reinstall install mysql-server-5.x

(dove x è la versione. Se non lo aggiungi, potresti lavorare con il dpkg sbagliato.

    
risposta data Netsec 31.01.2017 - 17:59

Leggi altre domande sui tag