Erro ao rodar o comando migrate
[Concluído]
![Aurelio de Oliveira](https://academy.especializati.com.br/assets/site/imgs/no-image.png)
Bom dia Carlos,
Ao utilizar o compando php artisan migrate esta dando esse erro:
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client (SQL: select * from information_schema.tables where table_schema = lara55 and table_name
= migrations)
In Connector.php line 67:
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
In Connector.php line 67:
PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]
Olá Aurelio!
Tudo bem?
Você está usando o Docker, certo?
Esse erro é porque o container do MySQL está inacessível.
Quando roda o comando "docker ps" gera algum erro?
Troque os containers para Linux, clique com o auxiliar e use a opção "Switch to Linux Container" e tente novamente.
![Carlos Ferreira](https://storage.googleapis.com/eti-academy/users/carlos-ferreira.jpg)
Bom dia Carlos,
Quando rodo o docker ps não gera erros
Após realizar o procedimento que você disse o erro continua o mesmo:
Em outro projeto também estou com o erro abaixo:
Illuminate\Database\QueryException : SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client (SQL: select * from information_schema.tables where table_schem
a = portalti and table_name = migrations)
at /var/www/portalti/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664
660| // If an exception occurs when attempting to run a query, we'll format the error
661| // message to include the bindings with SQL, which will make this exception a
662| // lot more helpful to the developer instead of just the database's errors.
663| catch (Exception $e) {
> 664| throw new QueryException(
665| $query, $this->prepareBindings($bindings), $e
666| );
667| }
668|
Exception trace:
1 PDOException::("PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]")
/var/www/portalti/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:68
2 PDO::__construct("mysql:host=mysql;port=3306;dbname=portalti", "root", "root", [])
/var/www/portalti/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:68
Please use the argument -v to see more details.
Outro detalhe é que não consigo acessar o phpmyadmin.
![Aurelio de Oliveira](https://academy.especializati.com.br/assets/site/imgs/no-image.png)
Esse tipo de erro é muito comum no Windows (Infelizmente!).
Mesmo rodando o comando docker ps exibe o container do MySQL, mas por algum motivo ele não está COMUNICANDO com os demais containers.
Vou te passar algumas dicas de como resolver. Segue:
* Deixe o sistema operacional atualizado
* Atualize o Docker
* Troque os containers para Linux, clique com o auxiliar e use a opção "Switch to Linux Container"
* Delete essa pasta e tente novamente: C:\Users\Nome Seu Usuário\.laradock\data
Como erros com Docker e ferramentas semelhantes no Windows são muito comuns, eu resolvi criar esse tutorial onde ensino como configurar o ambiente diretamente no Host, sem ferramentas adicionais como Docker ou Vagrant, veja: https://drive.google.com/open?id=1zdqr6hI7vA400Uh1zx7N5uq7-RZvwamX
Aguardo o seu retorno! =D
![Carlos Ferreira](https://storage.googleapis.com/eti-academy/users/carlos-ferreira.jpg)
Infelizmente não deu certo.
Até cheguei a reinstalar tudo do zero, mas não resolveu. Continua o mesmo erro.
![Aurelio de Oliveira](https://academy.especializati.com.br/assets/site/imgs/no-image.png)
Olá, Aurelio!
Acredito que sua virtualização está habilitada, e o Hyper-v também, certo?
Qual a versão do seu S.O.?
Se for uma versão diferente da Windows 10 PRO 64 bits precisa instalar o Docker Toolbox.
Faz um teste, usa essa versão do laradock, porque ela trabalha com o MySQL 5.7 e não a versão 8 (Essa última versão em alguns testes apresentou problemas com o PHP): https://drive.google.com/file/d/1rFLF1eoylKKzt9xZ21XZkyBGLLjNLqJp/view
Depois de alterar os arquivos do Laradock pra esse que passei acima, você pode fazer o build do container do MySQL, ou se preferir deletar e tentar novamente.
Fazer build:
docker-compose build mysql phpmyadmin
Deletar e recriar as imagens:
Ver imagens: docker images
Deletar imagem: docker rmi ID
No aguardo.
![Carlos Ferreira](https://storage.googleapis.com/eti-academy/users/carlos-ferreira.jpg)
Ola, Carlos... por questões de tempo e a necessecidade de finalizar um projetinho resolvi refazer meu ambiente com o Vagrante. Estou preparando uma máquina nova que pretendo usar somente Linux. Acredito que assim resolvo meu problema com ambiente de desenvolvimento.
Mais uma vez muito obrigado pelas dicas.
![Aurelio de Oliveira](https://academy.especializati.com.br/assets/site/imgs/no-image.png)
Opa amigo!
Entendo. Qualquer coisa que precisar de mim, só chamar.
Abs;
![Carlos Ferreira](https://storage.googleapis.com/eti-academy/users/carlos-ferreira.jpg)
**stop all service docker-compose down
Edit .env file set MYSQL_VERSION=5.7 or MYSQL_VERSION=latest
Delete mysql database
$ rm -rf ~/.laradock/data/mysql
rebuild mysql image
$ docker-compose build mysql
retry
$ docker-compose up -d nginx mysql phpmyadmin
![Diego Vissini](https://academy.especializati.com.br/assets/site/imgs/no-image.png)
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!