O MySQL 8 utiliza uma autenticação diferente ao de seus antecessores, que até o momento não é reconhecido pelo PHP 7, o que gera o erro "The server requested authentication method unknown to the client" ao tentar conectar-se ao Scriptcase.

Primeiramente, é necessário a criação de um novo usuário pois como o usuário atual do MySQL por padrão utiliza o tipo de autenticação caching2\_sha2\_password a conexão não será realizada utilizando ele.

Iremos criar o novo usuário utilizando a autenticação antiga para que seja possível a conexão.

Após essa configuração, será necessário alterar o tipo de autenticação padrão do MySQL.

Para realizar essa alteração é necessário seguir o tutorial de [Erro ao conectar o banco de dados MySQL8](https://help.scriptcase.net/portal/pt/kb/articles/erro-ao-conectar-o-banco-de-dados-mysql-8).

Criando usuário utilizando algumas ferramentas de gerenciamento de banco de dados.

Caso você esteja utilizando alguma das ferramentas abaixo, iremos mostrar como criar um novo usuário para o seu MySQL através delas.

1. [NAVICAT](https://help.scriptcase.net/portal/pt/kb/articles/como-conectar-com-o-mysql-8-0#navicat)
2. [SQLYOG](https://help.scriptcase.net/portal/pt/kb/articles/como-conectar-com-o-mysql-8-0#sqlyog)
3. [WORKBENCH](https://help.scriptcase.net/portal/pt/kb/articles/como-conectar-com-o-mysql-8-0#workbench)
4. [TERMINAL/CMD](https://help.scriptcase.net/portal/pt/kb/articles/como-conectar-com-o-mysql-8-0#terminal)

---

NAVICAT

1. Abra o Navicat, e em seguida, conecte-se a ao servidor de banco dedados desejado.

2. Abra a conexão com qualquer base de dados deste servidor.

3. Abra uma janela de execução de comandos SQL, em  “Query>NewQuery”.

4. Execute os 3 comandos SQL abaixo, em ordem.

Comando para criação do novo usuário usando autenticação antiga:

```
CREATE USER newuser@"%" IDENTIFIED WITH mysql_native_password BY 'password';
```

Comando para garantir permissões ao novo usuário:

```
GRANT ALL PRIVILEGES ON *.* TO "newuser"@"%";
```

```
FLUSH PRIVILEGES;
```

---

SQLYOG

 1-Ao conectar-se a um servidor de banco de dados pelo SQLyog, digite oscomandos na janela de “Query” e execute-os.

Comando para criação do novo usuário usando autenticação antiga:

```
CREATE USER newuser@"%" IDENTIFIED WITH mysql_native_password BY 'password';
```

Comando para garantir permissões ao novo usuário:

```
GRANT ALL PRIVILEGES ON *.* TO "newuser"@"%";
```

```
FLUSH PRIVILEGES;
```

---

WORKBENCH

**1-Abra uma conexão com um servidor de banco de dados ou cria uma nova conexão.**

**![](http://34.207.224.239:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbjRXIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--f7e4808d3c3f8c52ca6fc9b8005bf4616244cbe9/image-fd0e03c94e.png)  
2-Digite os comandos na janela de “Query” e execute-os.**

Comando para criação do novo usuário usando autenticação antiga:

```
CREATE USER newuser@"%" IDENTIFIED WITH mysql_native_password BY 'password';
```

Comando para garantir permissões ao novo usuário:

```
GRANT ALL PRIVILEGES ON *.* TO "newuser"@"%";
```

```
FLUSH PRIVILEGES;
```

![](http://34.207.224.239:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBb1FXIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--88e3094124dd6f12ea5e1fc49f25cc7f24ce2d07/image-d3176a2d84.png)

---

TERMINAL/CMD

1.Vamos acessar o MySQL através do Terminal.

Linux: Basta abrir o terminal e utilizar o comando mysql passando os parâmetros para realizar a conexão.

-h = Ip do servidor (Caso seja na mesma máquina não é necessário)

-P = Porta do servidor (Caso seja na mesma máquina não é necessário se for a padrão)

-u = Usuário (Obrigatório)

-p = Senha (Obrigatório)

Windows: Caso não esteja utilizando o aplicativo para abrir diretamente o terminal do MySQL, será necessário navegar até a pasta do MySQL.

```
cd "c:\Program Files\MySQL\MySQL Server {Sua versão}\bin"
```

Então, acessar o MySQL

2. Em seguida crie o nome usuário utilizando a autenticação antiga do mysql mysql\_native\_password.

Comando para criação do novo usuário usando autenticação antiga:

```
CREATE USER newuser@"%" IDENTIFIED WITH mysql_native_password BY 'password';
```

Comando para garantir permissões ao novo usuário:

```
GRANT ALL PRIVILEGES ON *.* TO "newuser"@"%";
```

```
FLUSH PRIVILEGES;
```

3. No Scriptcase, na criação da conexão com o MySQL informe os dados do novo usuário.

---

Para novas Instalações do MySQL

       Para novas instalações do MySQL, podemos escolher o tipo de autenticação que será utilizada.  
  
       Neste caso devemos optar pela opção Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)  
       Ao instalar o MySQL com esta autenticação a conexão poderá ser feita normalmente.