Minha instalação do MySQL está quebrada. Como reconfigurar completamente?

19

Aqui estão os seguintes comandos que eu fiz.

$ 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                     
    
por alm 19.10.2011 / 19:15

4 respostas

13

Antes de reinstalar, verifique / var / log / mysql para arquivos de logs que podem conter pistas sobre por que o mysql não está funcionando. Se não houver logs, o registro para o arquivo pode não estar habilitado em sua configuração: Configure o Log de Erros do MySQL

Para reinstalar qualquer pacote, use

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

Se isso não permitir que você reconfigure o pacote que você pode usar

sudo dpkg-reconfigure mysql-server-5.1
    
por Ciaran Liedeman 19.10.2011 / 21:15
6

ERRO 2002 (HY000): Não é possível conectar-se ao soquete local do servidor MySQL '/ tmp / mysql.sock' (2)

No MySQL, as instalações podem especificar onde teremos o socket para conexões locais. Ao fazer atualizações não é incomum ver o erro "Não é possível conectar-se ao soquete do servidor MySQL local." Vamos ver como resolver esse problema.

O erro é assim:

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

através de ps , podemos ver se é especificado por parâmetro e o local onde está:

# 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

Nesse caso, vemos que está em /var/lib/mysql/mysql.sock . Se não for encontrado como um parâmetro, deve procurar na seção mysqld de /etc/my.cnf para encontrar o parâmetro:

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

Se soubermos onde é isso, precisamos modificar o mesmo arquivo ( /etc/my.cnf ) e adicionar o cliente de soquete da seção de parâmetro:

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

Para os últimos espectadores:
    Eu cheguei ao erro semelhante quando eu não atualizei o pacote mysql-server, mas eu encontrei isto resolveu meu problema . Quando sudo apt-get install -f não funciona, tente sudo apt-get purge mysql* . Agora você pode reinstalar o servidor mysql.

    
por artificerpi 15.04.2016 / 15:03
1

Um dos problemas que estou enfrentando é saber com qual versão estou tendo problemas. Esta foi uma ideia legal:

$ aptitude search mysql |grep ^i

Mas aqui está o que achei crítico na questão:

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

(onde x é a versão. Se você não adicionar isto, você pode estar trabalhando com o dpkg errado.

    
por Netsec 31.01.2017 / 17:59

Tags