# Como instalar o MySQL no Ubuntu 20.04

o [MySQL](https://www.ionos.com/digitalguide/server/know-how/what-is-mysql/) é um dos bancos de dados de código aberto mais populares. Ele é conhecido por seu **desempenho, confiabilidade e escalabilidade** e é usado em muitas áreas diferentes, desde pequenos sistemas de hospedagem na Web até grandes empresas. Neste artigo, explicaremos passo a passo como instalar o MySQL no Ubuntu 20.04, para que você possa configurar um sistema de gerenciamento de banco de dados confiável.

## Quais são os requisitos para instalar o MySQL no Ubuntu 20.04?

Há relativamente poucos requisitos de sistema para instalar o MySQL no Ubuntu 20.04, que devem ser atendidos na maioria dos sistemas modernos de desktop e servidor. É importante observar que os requisitos podem variar de acordo com a finalidade pretendida e o escopo do banco de dados. Por exemplo, se você quiser executar um aplicativo intensivo que use bancos de dados grandes ou consultas complexas, a RAM e o processamento necessários para garantir um bom desempenho serão maiores. Você também deve ter bastante espaço no disco rígido para permitir o crescimento futuro e a adição de mais bancos de dados.

Você deve verificar a configuração da rede e as definições do firewall para garantir uma comunicação tranquila entre o servidor MySQL e os clientes. O servidor MySQL deve ter um endereço IP estático para evitar problemas com a conexão.

Aqui estão os requisitos mínimos para a instalação do MySQL:

- **Processador (CPU)**: arquitetura x86-64, mín. 1 GHz (dual-core)
- **RAM**: mín. 1 GB
- **Sistema operacional**: Ubuntu 20.04, uma conta de usuário com privilégios sudo e root
- **Firewall**: Porta MySQL 3306 aberta
- **Espaço em disco rígido**: min. 500 MB
- **Conexão com a Internet**: Necessária para fazer download de pacotes e conectar-se ao servidor MySQL

## Guia passo a passo sobre como instalar o MySQL no Ubuntu 20.04

O MySQL pode ser instalado no Ubuntu 20.04 usando o sistema de gerenciamento de pacotes APT (Advanced Package Tool). Após a instalação, você precisará instalá-lo e configurá-lo, para o que precisará da **senha root e do acesso a clientes externos**. A seguir, mostraremos passo a passo como instalar o MySQL no Ubuntu 20.04.

### Etapa 1: Atualizar o índice de pacotes

Primeiro, é uma boa ideia garantir que sua lista de pacotes esteja atualizada. Para isso, você pode usar o seguinte comando:

```bash
$ sudo apt update
```

### Etapa 2: Instalar o servidor MySQL

Em seguida, instale o pacote do servidor MySQL com **APT**:

```bash
$ sudo apt install mysql-server
```

Para verificar se o servidor está em execução, você pode iniciá-lo manualmente com o comando **systemctl**.

```bash
$ sudo systemctl start mysql.service
```

### Etapa 3: Configurar o MySQL

O MySQL não atenderá aos padrões de segurança recomendados logo após a instalação. Para corrigir isso, use o script oferecido pelo MySQL para **alterar as configurações para proteger melhor o servidor**. Isso definirá a senha da raiz, removerá usuários anônimos e limitará o acesso remoto.

Você precisará tomar algumas precauções para garantir que o script seja executado corretamente. O aplicativo desejará alterar a senha da conta raiz, que está desativada no [Ubuntu](https://www.ionos.com/digitalguide/server/know-how/ubuntu-the-linux-system-for-everyone/) por padrão. Para evitar um erro, será necessário ajustar o **método de autenticação dos usuários raiz**.

Para fazer isso, inicie o prompt de comando do MySQL:

```bash
$ sudo mysql
```

Use o comando **ALTER USER** para definir uma senha para o root:

```bash
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
```

Feche o prompt de comando do MySQL:

```bash
mysql> exit
```

Execute o script de segurança:

```bash
$ sudo mysql_secure_installation
```

Para autenticar o usuário root, digite o seguinte:

```bash
$ mysql -u root -p
```

Depois que o script for concluído, você poderá alterar o método de autenticação padrão novamente:

```bash
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
```

Isso permitirá que você se conecte com o comando **sudo mysql** novamente.

### Etapa 4: configurar usuários do MySQL

A instalação do MySQL cria um usuário raiz que tem todos os privilégios do servidor MySQL e controle total sobre bancos de dados, tabelas e usuários. Para aumentar a segurança, você deve **criar um usuário com privilégios limitados**.

Para fazer isso, abra o prompt de comando do MySQL:

```bash
$ sudo mysql
```

Se você definiu uma senha como método de autenticação, use o seguinte:

```bash
$ mysql -u root -p
```

Agora, crie um novo usuário para o MySQL:

```bash
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
```

Digite seu nome de usuário no lugar de “username” e o nome do seu host no lugar de “host”. Se estiver executando o Ubuntu localmente, escreva **localhost**. A expressão “WITH authentication\_plugin” é opcional. O plug-in “auth\_socket” tem configurações de segurança fortes e não exige uma senha para fazer login.

A menos que especificado de outra forma, o MySQL usa o plug-in “caching\_sha2\_password” para autenticação. Entretanto, algumas versões do PHP não são compatíveis com ele. Você pode usar o plug-in testado e aprovado “mysql\_native\_password” em seu lugar:

```bash
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
```

Ou usar a função “alter” para um usuário existente:

```bash
mysql> ALTER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
```

### Etapa 5: Atribuir privilégios

Agora é hora de definir quais privilégios o novo usuário terá. A sintaxe para isso é:

```bash
mysql> GRANT PRIVILEGE ON database.table TO 'username'@'host';
```

Os privilégios são separados por vírgula. Para conceder **privilégios globais** , substitua “database.table” por um asterisco “\*”.

No exemplo a seguir, concedemos a um usuário permissão para criar (CREATE), modificar (ALTER) e excluir (DROP) bancos de dados e inserir (INSERT), select (SELECT), update (UPDATE), e delete (DELETE) dados em uma tabela.

```bash
mysql> GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT on *.* TO 'user'@'host' WITH GRANT OPTION;
```

“WITH GRANT OPTION” concede ao usuário permissão para dar os privilégios que ele tem a outros usuários.

Agora, esvazie o cache com “FLUSH PRIVILEGES”:

```bash
mysql> FLUSH PRIVILEGES;
```

Depois disso, você pode fechar o prompt de comando do MySQL:

```bash
mysql> exit
```

Agora você pode fazer login com o novo nome de usuário:

```bash
$ mysql -u username -p
```

### Etapa 6: testar o MySQL

Verifique se o MySQL está sendo executado corretamente com, por exemplo, o gerenciador de sistema **Systemd**:

```bash
$ systemctl status mysql.service
```

Como alternativa, você pode se conectar com o banco de dados MySQL. O comando a seguir faz seu login no MySQL e exibe a versão do servidor:

```bash
$ sudo mysqladmin -p -u username version
```


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/instalando-o-mysql-no-ubuntu-2004/](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/instalando-o-mysql-no-ubuntu-2004/) for AI/LLM consumption.