# Instalar o MySQL no Ubuntu 20.04

O MySQL é uma das bases de dados de código aberto mais populares. Destaca-se pelo seu **desempenho, fiabilidade e escalabilidade** e tem inúmeras áreas de aplicação, desde pequenos sistemas de alojamento web até grandes aplicações empresariais. A seguir, mostramos passo a passo o processo de instalação do MySQL no Ubuntu 20.04. Assim, terá um sistema de gestão de bases de dados fiável.

## Quais são os requisitos do MySQL que o Ubuntu 20.04 deve cumprir?

Em termos gerais, os requisitos de sistema para utilizar o MySQL no Ubuntu 20.04 são relativamente baixos e a maioria dos sistemas modernos de desktop ou servidor deve ser capaz de cumprir esses requisitos. No entanto, é importante observar e ter em mente que os requisitos podem variar dependendo do uso pretendido e do tamanho do banco de dados. Se, por exemplo, você estiver executando um aplicativo mais abrangente que utiliza **grandes bancos de dados ou consultas complexas**, serão necessários requisitos maiores de RAM e processador para garantir um melhor desempenho. Ter uma grande capacidade de disco rígido é ideal para facilitar o crescimento a longo prazo e permitir bancos de dados adicionais.

Para uma comunicação fluida entre o servidor MySQL e os utilizadores, também é necessário verificar detalhadamente a **configuração da rede e do firewall**. Além disso, o servidor MySQL deve ter um endereço IP estático para evitar problemas de conexão.

No que diz respeito ao hardware e software, o MySQL exige os seguintes requisitos mínimos:

- **Processador (CPU)**: arquitetura x86-64, mín. 1 GHz (Dual-Core)
- **Memória (RAM)**: mín. 1 GB
- **Sistema operativo**: Ubuntu 20.04, utilizador sudo com direitos root
- **Firewall**: porta 3306 do MySQL aberta
- **Espaço no disco rígido**: mín. 500 MB
- **Conexão à Internet**: para descarregar pacotes e conectar-se ao servidor MySQL

## Instalação do MySQL no Ubuntu 20.04: instruções passo a passo

Para instalar o MySQL no Ubuntu 20.04, pode utilizar o sistema de gestão de pacotes APT (Advanced Package Tool). Após concluir o processo de instalação, deve instalar e configurar o MySQL antes de o utilizar de forma produtiva. Para isso, deve definir a **palavra-passe de administrador (root) e o acesso para utilizadores externos**, entre outros. No nosso guia, mostramos-lhe todos os passos que deve seguir durante o processo de instalação.

### Passo 1. Atualizar a lista de pacotes

Em primeiro lugar, recomenda-se atualizar a lista de pacotes. Para isso, execute o seguinte comando:

```bash
$ sudo apt update
```

### Passo 2. Instalar o servidor MySQL

Agora instale o pacote do servidor MySQL com **o APT**:

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

Para verificar o funcionamento do servidor, pode iniciá-lo manualmente com o comando **systemctl**:

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

### Passo 3. Configurar o MySQL

Após instalar o MySQL, é importante ter em conta que ele ainda não cumpre as normas de segurança recomendadas. Para resolver isso, o MySQL fornece um script que altera o **modo de configuração para proteger o servidor**. Desta forma, ele se encarrega de definir a senha de administração (root), eliminar utilizadores anónimos e restringir o acesso remoto, por exemplo.

No entanto, para executar o script corretamente, é necessário tomar certas precauções, pois a aplicação pretende alterar a palavra-passe da conta root, que está desativada por predefinição no Ubuntu. Se quiser evitar erros, ajuste o **método de autenticação do utilizador root**.

Inicie o símbolo do sistema do MySQL:

```bash
$ sudo mysql
```

Use a instrução **ALTER USER** para definir uma senha de administração (root):

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

Feche o símbolo do sistema MySQL:

```bash
mysql> exit
```

Execute o script de segurança:

```bash
$ sudo mysql_secure_installation
```

Para se autenticar como utilizador root, introduza o seguinte comando:

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

Depois de concluir o script, pode voltar a alterar o método de autenticação disponível por predefinição:

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

Assim, poderá ligar-se novamente com o comando **sudo mysql**.

### Passo 4. Criar utilizador MySQL

Ao instalar o MySQL, é criado um utilizador root que tem todos os privilégios para o servidor MySQL. Este também tem controlo total sobre qualquer base de dados, tabelas e utilizadores. Para melhorar o nível de segurança, recomendamos criar um **utilizador com direitos restritos**.

Para isso, aceda ao símbolo do sistema MySQL:

```bash
$ sudo mysql
```

Agora crie um novo utilizador para o MySQL:

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

Em «nome de utilizador» e «host», introduza o seu nome de utilizador e o nome do seu host, respetivamente. Se estiver a executar o Ubuntu localmente, escreva **localhost**. A expressão «WITH authentication\_plugin» é opcional. O plugin «auth\_socket» tem um elevado nível de segurança e não requer uma palavra-passe para iniciar sessão.

Caso nada mais seja especificado, o MySQL utiliza o plugin “caching\_sha2\_password” para autenticação. No entanto, existem algumas versões do PHP com as quais ele não é compatível. Em vez disso, também pode utilizar o plugin “mysql\_native\_password”, que é mais antigo, mas já foi testado:

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

Você também pode usar a função “ALTER” para um utilizador existente:

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

### Passo 5. Administrar direitos

Determina os direitos do novo utilizador. A sintaxe geral é a seguinte:

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

A separação de múltiplos privilégios é feita com uma vírgula. Para aplicar os privilégios **globalmente**, troque “database.table” por um asterisco (\*).

No exemplo a seguir, concedemos a um utilizador os direitos para criar (CREATE), modificar (ALTER), eliminar (DROP) e inserir (INSERT), selecionar (SELECT), atualizar (UPDATE) e eliminar (DELETE) dados numa tabela.

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

Através da opção «WITH GRANT OPTION», o utilizador também pode transferir os seus direitos para outras pessoas.

Em seguida, esvazie a cache com “FLUSH PRIVILEGES”:

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

Agora feche o símbolo do sistema MySQL:

```bash
mysql> exit
```

Inicie sessão com o seu novo nome de utilizador:

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

### Passo 6. Verificar o funcionamento do MySQL

Depois de concluir todas as etapas anteriores, verifique se o MySQL está a funcionar corretamente. Utilize, por exemplo, o gestor do sistema **Systemd**:

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

Como alternativa, pode ligar-se à base de dados MySQL. O comando seguinte leva-o ao início de sessão no MySQL e mostra-lhe a versão do servidor:

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


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