Encontre o diretório de dados do mysql, e envie isso para o usuário do MySQL (normalmente mysql: mysql) ...
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!
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.
$ 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
Tags permissions mysql