Instalação e Configuração Inicial do MySQL no Linux

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).

Tags: MySQL Linux yum MariaDB SQL

Publicado em 7-19 16:57