Skip to content

Instantly share code, notes, and snippets.

@sebawebber
Created August 11, 2016 11:19
Show Gist options
  • Select an option

  • Save sebawebber/4bfa4cd5cb4874fc9cb65cd72bd643a4 to your computer and use it in GitHub Desktop.

Select an option

Save sebawebber/4bfa4cd5cb4874fc9cb65cd72bd643a4 to your computer and use it in GitHub Desktop.
Dojo sobre MySQL Enterprise executado na Constat LM2

MySQL DOJO -> Constat LM2

Dojo sobre MySQL Enterprise executado na Constat LM2 no dia 05/09/2016.

TODO List

  • Instalação no El7
  • Avaliar conceitos de tuning
  • Backup e Restore
  • Disaster Recovery issues

Instalação no El7

Faça o download no site: https://edelivery.oracle.com

Credenciais podem ser necessárias. Elas são enviadas na compra.

Instalação

Criar o diretorio de resources:

mkdir -p /opt/resources

Descompactar o download:

unzip V266964-01.zip

Instala os pacotes necessários

yum localinstall mysql-commercial-server-5.7.13-1.1.el7.x86_64.rpm  mysql-commercial-common-5.7.13-1.1.el7.x86_64.rpm mysql-commercial-client-5.7.13-1.1.el7.x86_64.rpm  mysql-commercial-libs-5.7.13-1.1.el7.x86_64.rpm mysql-commercial-libs-compat-5.7.13-1.1.el7.x86_64.rpm

Subir o serviço do mysql

systemctl start mysqld

Procurar senha inical no log

grep 'temporary password' /var/log/mysqld.log

por exemplo:

2016-08-05T18:30:12.696741Z 1 [Note] A temporary password is generated for root@localhost: qDD7YFxWeH<o

Agora, mudar a senha criada inicialmente

mysql -u root -p

DICA: usar a senha encontrada no log

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Teste123!@#';

Configurações de data/hora

Ajustar o timezone para GMT-3

ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime

Comandos úteis

Exibir as bases de dados:

show databases;

Exibir a versão do banco

select @@version

como descubrir qual usuário e banco estou logado:

select database(),current_user;

Tarefas diversas

criar banco world

Baixe o banco world

wget http://downloads.mysql.com/docs/world.sql.zip

Descompactar o mesmo:

unzip world.sql.zip

criar o banco

mysql -u root -p

agora rodar:

CREATE DATABASE world;
use world;
source world.sql

Calcular o tamanho do banco criado:

SELECT TABLE_NAME, concat(round((DATA_LENGTH+INDEX_LENGTH)/(1024),0),"K") AS
"Size(kb)" from tables where TABLE_SCHEMA = 'world';

Resolver problema de conexao

Etapas do troubleshooting:

  1. Testar conexao na rede (ssh)

  2. Ver se o banco está ouvindo pra rede 0.0.0.0:

    netstat -ntpl | grep 3306 
    
  3. testar de fora a conexão:

    nmap 192.168.2.251 -p 3306
    

Revisar as permissões

Listando os usuários e hosts:

SELECT host, user FROM mysql.user;

Listando os GRANTs de conexão para o usuário:

show grants for root@'localhost';

Liberar acesso ao usuário root, pra todas as redes:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Teste123!@#';

Liberar firewall

Para liberar a porta no firewall, utilize o firewall-cmd:

firewall-cmd --add-port="3306/tcp" --zone="public" --permanent
firewall-cmd --reload

Importante: Execute o comando abaixo para descobrir as zonas disponíveis:

firewall-cmd --get-active-zones
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment