
Eu estava tentando instalar o homebrew e fiz isso de maneira muito estúpida:
sudo chown -R $USER /usr/local
As instruções do Homebrew dizem para fazer isso e eu não sou muito administrador de sistemas, então acreditei na palavra deles. Lição aprendida (embora eu realmente não soubesse como testar isso... parece que um script de "desfazer" seria muito valioso aqui)
De qualquer forma, o que está feito está feito, mas agora recebo este erro:
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 548
Server version: 5.1.33 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show databases;
ERROR 1018 (HY000): Can't read dir of '.' (errno: 13)
Tentei voltar ao root sem sucesso. Alguém sabe como posso consertar isso sem reinstalar o mysql? Opcionalmente, se eu tiver que reinstalar o MySQL, como posso despejar meus bancos de dados sem acesso à linha de comando para não perder todos os meus dados?
Obrigado!
Responder1
Encontre o diretório de dados do mysql e mostre-o ao usuário do MySQL (normalmente mysql:mysql) ...
Responder2
Determine qual usuário o mysql está executando (eu usaria ps aux |grep mysql
, mas seus sinalizadores para ps podem ser diferentes), descubra onde o mysql está instalado (o meu aparece nos resultados do ps como --datadir=/usr/local/mysql/data
, mas você pode precisar que sua tela seja larga o suficiente para não truncar o comando) e, em seguida, altere a propriedade de volta para o usuário correto.
Responder3
$ cd /usr/lcoal/mysql/
$ ls -l
$ sudo -R chown mysql:mysql data/
data/
é um diretório no /usr/local/mysql/
qual contém todo o banco de dados.
Agora faça mysql -u user -p password
. Você pode acessar seu banco de dados