Preparação e Limpeza do Ambiente
Antes de iniciar a instalação do MySQL (versão 5.7 ou superior), é crucial garantir que não haja conflitos com instalações prévias, como o MariaDB ou versões antigas do próprio MySQL. Mude para o usuário root para facilitar a execução dos comandos.
Verifique se existem processos ativos relacionados a esses bancos de dados:
ps aux | grep -i mariadb
ps aux | grep -i mysql
Caso encontre processos em execução, pare os serviços imediatamente:
systemctl stop mariadb
systemctl stop mysqld
Remoção de Pacotes Residuais
Confirme a existência de pacotes instalados via gerenciador de pacotes RPM:
rpm -qa | grep -i mariadb
rpm -qa | grep -i mysql
Remova todos os pacotes listados para evitar conflitos de dependências:
yum remove -y nome_do_pacote
Após a desinstalação, faça o backup ou renomeie o arquivo de configuração antigo, caso ele exista:
mv /etc/my.cnf /etc/my.cnf.backup
Adição do Repositório Oficial e Instalação
Para garantir que estamos instalando a versão correta, adicione o repositório oficial do MySQL. Verifique a versão do seu sistema operacional:
cat /etc/redhat-release
Baixe e instale o pacote do repositório YUM a partir do portal oficial (repo.mysql.com). Após a adição, confirme que o repositório foi criado em /etc/yum.repos.d/.
Importe a chave GPG para validar os pacotes e instale o servidor da comunidade:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install -y mysql-community-server
Primeiro Acesso e Redefinição de Senha
Ao iniciar o serviço pela primeira vez, o MySQL 5.7+ gera uma senha temporária para o usuário root. Inicie o serviço e recupere essa credencial:
systemctl start mysqld
grep 'temporary password' /var/log/mysqld.log
Utilize a senha temporária para acessar o console:
mysql -u root -p
Assim que entrar, altere imediatamente a senha do root (lembrando que esta é a senha do banco de dados, e não a do sistema operacional):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MinhaSenha@2024';
Nota: Em versões mais recentes do MySQL (8.0+), a autenticação inicial pode não exigir senha temporária, permitindo acesso direto com mysql -u root e a configuração da senha posteriormente.
Configurações Essenciais no my.cnf
Para otimizar o comportamento do servidor, edite o arquivo de configuração principal:
vim /etc/my.cnf
Adicione ou ajuste os seguintes parâmetros na seção [mysqld] para definir o conjunto de caracteres e o motor de armazenamento padrão:
character-set-server=utf8mb4
default-storage-engine=InnoDB
port=3306
Reinicie o serviço para aplicar as mudanças:
systemctl restart mysqld
Conexão Remota e Operações Básicas
Para se conectar a uma instância remota, utilize a sintaxe completa com host e porta:
mysql -u root -p'SenhaForte@2024' -h 10.0.0.50 -P 3306
Abaixo estão os comandos fundamentais para manipulação inicial de bancos de dados:
-- Listar todos os bancos de dados existentes
SHOW DATABASES;
-- Criar um novo banco de dados
CREATE DATABASE app_comercial;
-- Selecionar o banco de dados para uso
USE app_comercial;
-- Exibir as tabelas do banco selecionado
SHOW TABLES;
-- Remover um banco de dados inteiro
DROP DATABASE app_comercial;
-- Encerrar a sessão do console
EXIT;
Esrtutura de Dados e Categorias SQL
Ao modelar tabelas, lembre-se de que cada coluna (campo) deve possuir:
- Nome: Identificador da coluna.
- Tipo de Dados: Definição do formato (ex: INT, VARCHAR, DATE).
- Tamanho/Comprimento: Limite de caracteres ou precisão numérica.
- Restrições (Constraints): Regras como NOT NULL, PRIMARY KEY, UNIQUE.
A linguagem SQL é dividida em subconjuntos baseados em suas funcionalidades:
- DQL (Data Query Language): Focado em consultas (
SELECT). - DML (Data Manipulation Language): Manipulação de registros (
INSERT,UPDATE,DELETE). - DDL (Data Definition Language): Definição de estruturas (
CREATE,ALTER,DROP). - TCL (Transaction Control Language): Cnotrole de transações (
COMMIT,ROLLBACK). - DCL (Data Control Language): Controle de permissões e acessos (
GRANT,REVOKE).