Guia para Instalação e Configuração do MySQL 5.7 no CentOS
Este guia descreve o processo de instalação do MySQL 5.7 no sistema CentOS utilizando um arquivo compactado tar.gz. O procedimento envolve download, extração, configuração inicial e ajustes de segurança.
Passo 1: Preparação do Sistema
Primeiro, verifique e remova quaisquer instalações anteriores do MySQL ou MariaDB para evitar conflitos.
rpm -qa | grep -i mysql
rpm -qa | grep mariadb
rpm -e --nodeps <pacote_mariadb_encontrado>
Passo 2: Download e Extração do Pacote
Baixe o pacote MySQL 5.7 a partir do site oficial e extraia-o para um diretório de sua escolha, por exemplo /opt. Em seguida, crie um link simbólico para padronizar o caminho de acesso.
tar -xzf mysql-5.7.*-linux-*.tar.gz -C /opt/
cd /opt
ln -s mysql-5.7.*-linux-* servidor_mysql
Passo 3: Configuração de Permissões e Usuário
Crie um usuário e grupo dedicados para o serviço MySQL e ajuste as permissões do diretório de instalação.
groupadd -r db_grupo
useradd -r -g db_grupo -s /sbin/nologin usuario_db
cd /opt/servidor_mysql
chown -R usuario_db:db_grupo .
Passo 4: Inicialização do Banco de Dados
Execute a inicialização do diretório de dados. A senha temporária do root será exibida na saída do comando.
./bin/mysqld --initialize --user=usuario_db --basedir=/opt/servidor_mysql --datadir=/opt/servidor_mysql/dados
Passo 5: Configuração do Arquivo de Serviço
Crie e edite o arquivo de configuração principal /etc/my.cnf com parâmetros otimizados. Exemplo simplificado:
[client]
port = 3306
socket = /tmp/mysql_db.sock
[mysqld]
port = 3306
basedir = /opt/servidor_mysql
datadir = /opt/servidor_mysql/dados
socket = /tmp/mysql_db.sock
user = usuario_db
max_connections = 200
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
lower_case_table_names = 1
bind-address = 0.0.0.0
[mysqld_safe]
log-error = /var/log/mysql_db.log
pid-file = /var/run/mysql_db.pid
Passo 6: Inicialização do Serviço e Configuração Inicial
Inicie o servidor MySQL e integre-o ao sistema de serviços.
cp /opt/servidor_mysql/support-files/mysql.server /etc/init.d/mysql_servico
service mysql_servico start
Em seguida, adicione o diretório de binários ao PATH do sistema e aplique as alterações.
echo 'export PATH=$PATH:/opt/servidor_mysql/bin' >> /etc/profile
source /etc/profile
Passo 7: Acesso e Segurança Inicial
Acesse o servidor MySQL usando a senha temporária gerada e defina uma nova senha segura.
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'nova_senha_segura';
FLUSH PRIVILEGES;
Para permitir conexões remotas, atualize a tabela de usuários.
USE mysql;
UPDATE user SET Host='%' WHERE User='root';
FLUSH PRIVILEGES;
Passo 8: Configuração de Firewall e Inicialização Automática
Se o firewall estiver ativo, libere a porta padrão do MySQL.
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
Configure o serviço para iniciar automaticamente com o sistema.
chkconfig mysql_servico on
Notas sobre Monitoramento e Desempenho
O comando SHOW PROCESSLIST fornece insights sobre o estado das consultas. Exemplos de estados comuns incluem 'Sending data' (transmissão de dados) e 'Sorting result' (ordneando resultados), que podem indicar gargalos de desempenho.
Ajuste parâmetros de desempenho como innodb_buffer_pool_size no arquivo my.cnf de acordo com os recursos do servidor. Valores recomendados incluem definir esta variável para aproximadamente 70% da memória disponível para cargas de trabalho intensivas.