Tutorial

Como instalar o MySQL no CentOS 8

MySQLDatabasesCentOS 8

Introdução

O MySQL é um sistema de gerenciamento de banco de dados de código aberto, que é geralmente instalado como parte da pilha popular LEMP (Linux, Nginx, MySQL/ MariaDB, PHP/Python/Perl). Ele implementa o modelo relacional e a Linguagem de Consulta Estruturada (SQL) para gerenciar e consultar dados.

Este tutorial explica como instalar a versão 8 do MySQL em um servidor CentOS 8.

Pré-requisitos

Para completar este tutorial, será necessário um servidor executando o CentOS 8. Este servidor deve ter um usuário não raiz com privilégios administrativos e um firewall configurado com o firewalld. Para configurar isso, consulte nosso Guia de configuração inicial de servidor para o CentOS 8.

Passo 1 — Instalando o MySQL

No CentOS 8, a versão 8 do MySQL está disponível nos repositórios padrão.

Execute o seguinte comando para instalar o pacote mysql-server, bem como um número das dependências:

  • sudo dnf install mysql-server

Quando solicitado, pressione y e, depois, ENTER para confirmar que deseja continuar.

Output
. . . Install 49 Packages Total download size: 46 M Installed size: 252 M Is this ok [y/N]: y

Com isso, o MySQL está instalado em seu servidor, mas ele ainda não está em funcionamento. O pacote que acabou de instalar configura o MySQL para executar como um serviço do systemd chamado de mysqld.service. Para usar o MySQL, será necessário iniciá-lo com o comando systemctl:

  • sudo systemctl start mysqld.service

Para verificar que o serviço está funcionando corretamente, execute o seguinte comando a seguir. Note que para muitos comandos systemctl — incluindo o start e, como mostrado aqui, o status — você não precisa incluir .service após o nome do serviço.

  • sudo systemctl status mysqld

Caso o MySQL tenha sido iniciado com sucesso, o resultado mostrará que o serviço do MySQL está ativo:

Output
● mysqld.service - MySQL 8.0 database server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2020-03-12 14:07:41 UTC; 1min 7s ago Main PID: 15723 (mysqld) Status: "Server is operational" Tasks: 38 (limit: 5056) Memory: 474.2M CGroup: /system.slice/mysqld.service └─15723 /usr/libexec/mysqld --basedir=/usr Mar 12 14:07:32 cent-mysql-3 systemd[1]: Starting MySQL 8.0 database server... Mar 12 14:07:32 cent-mysql-3 mysql-prepare-db-dir[15639]: Initializing MySQL database Mar 12 14:07:41 cent-mysql-3 systemd[1]: Started MySQL 8.0 database server.

Em seguida, defina o MySQL para iniciar sempre que o servidor for iniciado com o seguinte comando:

  • sudo systemctl enable mysqld

Nota: caso queira alterar este comportamento e desativar o MySQL de inicializar na inicialização do servidor, execute:

  • sudo systemctl disable mysqld

O MySQL está instalado, em execução e habilitado em seu servidor. Em seguida, vamos ver como fortalecer a segurança do seu banco de dados usando um script do shell que veio pré-instalado com sua instância do MySQL.

Passo 2 — Protegendo o MySQL

O MySQL inclui um script de segurança que permite que você altere algumas opções de configuração padrão, de forma a melhorar a segurança do MySQL.

Para usar o script de segurança, execute o seguinte comando:

  • sudo mysql_secure_installation

Isso levará você por uma série de prompts, perguntando se deseja fazer certas alterações nas opções de segurança de sua instalação do MySQL. O primeiro prompt perguntará se você gostaria de definir o plug-in de validar senha, que pode ser usado para testar a força de sua senha do MySQL.

Caso você escolha configurar o plug-in de validar senha, o script solicitará que você escolha um nível de validação de senha. O nível mais forte — que você seleciona ao digitar 2 — exigirá que sua senha tenha pelo menos oito caracteres de tamanho e inclua uma mistura de caracteres em maiúsculo, minúsculo, numérico e especial:

Output
Securing the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No: Y There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2

Independentemente de você escolher configurar o plug-in de validar senha, o próximo prompt será o de definir uma senha para o usuário root do MySQL. Digite e, em seguida, confirme uma senha segura de sua escolha:

Output
Please set the password for root here. New password: Re-enter new password:

Caso tenha usado o plug-in de validar senha, você receberá o feedback da força dela. Então, o script perguntará se você deseja continuar com a senha que acabou de digitar, ou se quer digitar uma nova. Supondo que esteja satisfeito com a força da senha que acabou de digitar, digite Y para continuar o script:

Output
Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

Seguindo isso, pressione Y e então ENTER para aceitar as configurações padrão para todas as perguntas subsequentes. Isso removerá alguns usuários anônimos e o banco de dados de teste, desativará os logins remotos para a raiz e carregará essas novas regras para que o MySQL respeite imediatamente as alterações que você fez.

Com isso, você instalou e protegeu o MySQL em seu servidor CentOS 8. Como um passo final, vamos testar que o banco de dados está acessível e funcionando como esperado.

Passo 3 — Testando o MySQL

Você pode verificar sua instalação e obter informações a respeito dela se conectando à ferramenta mysqladmin, um cliente que permite que execute comandos administrativos. Use o seguinte comando para conectar ao MySQL como root (-u root), solicitar uma senha (-p) e retornar a versão da instalação:

  • mysqladmin -u root -p version

Você verá um resultado parecido com este:

Output
mysqladmin  Ver 8.0.17 for Linux on x86_64 (Source distribution)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version      8.0.17
Protocol version    10
Connection      Localhost via UNIX socket
UNIX socket     /var/lib/mysql/mysql.sock
Uptime:         2 hours 52 min 37 sec

Threads: 2  Questions: 20  Slow queries: 0  Opens: 131  Flush tables: 3  Open tables: 48  Queries per second avg: 0.001

Isso indica que sua instalação foi bem-sucedida.

Caso queira se conectar ao MySQL e começar a adicionar dados a ele, execute o seguinte:

  • mysql -u root -p

Assim como o comando mysqladmin anterior, este comando inclui a opção -u, que permite que você especifique o usuário a que gostaria de se conectar (root neste caso) e a opção -p, que diz ao comando para solicitar a senha do usuário que você definiu no passo anterior.

Após digitar sua senha root do usuário do MySQL, você verá o prompt do MySQL:

A partir daí, comece a usar sua instalação do MySQL para criar e carregar bancos de dados e começar a executar consultas.

Conclusão

Ao seguir este tutorial, você instalou e protegeu o MySQL em um servidor CentOS 8. A partir daqui, você pode instalar o Nginx e o PHP para ter uma pilha LEMP totalmente operacional em seu servidor.

Para aprender mais sobre como usar o MySQL, recomendamos que você revise a documentação oficial.

Creative Commons License