Erro de permissões do MySQL ao mostrar bancos de dados

2

Eu estava tentando instalar o homebrew e, muito estupidamente, fiz isso:

sudo chown -R $USER /usr/local

As instruções do Homebrew dizem para fazer isso e eu não sou muito de um administrador de sistemas, então eu aceitei a palavra deles. Lição aprendida (embora eu realmente não saiba como testar isso ... parece que um script "desfazer" seria super 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)

Eu tentei voltar à raiz sem sucesso. Alguém sabe como eu posso consertar isso sem reinstalar o mysql? Opcionalmente, se eu tiver que reinstalar o mysql, como posso descarregar meus bancos de dados sem acesso à linha de comando para não perder todos os meus dados.

Obrigado!

    
por Tony 09.06.2010 / 17:39

3 respostas

1

Encontre o diretório de dados do mysql, e envie isso para o usuário do MySQL (normalmente mysql: mysql) ...

    
por 09.06.2010 / 17:46
1

Determine o que o usuário mysql está executando como (eu usaria ps aux |grep mysql , mas seus flags para ps podem ser diferentes), encontre onde o mysql está instalado (o meu mostra nos resultados do ps como --datadir=/usr/local/mysql/data , mas você pode precisar a tela seja ampla o suficiente para não truncar o comando) e, em seguida, altere a propriedade de volta para o usuário correto.

    
por 09.06.2010 / 17:49
0
$ cd /usr/lcoal/mysql/

$ ls -l

$ sudo -R chown mysql:mysql data/

data/ é um diretório em /usr/local/mysql/ que contém todo o banco de dados.

Agora, faça mysql -u user -p password . Você pode acessar seu banco de dados

    
por 29.04.2016 / 14:30