Alterando o datadir do MySQL no Ubuntu

Um procedimento comum após a instalação do MySQL é alterar o datadir e normalmente é para outra unidade de disco. Nos servidores que eu administro sempre busco deixar o datadir em uma unidade de disco e a gravação de logs em outra, isso faz não existir concorrência de I/O no momento de leitura ou gravação de dados.

Eu normalmente utilizo CentOS para o MySQL mas devido a um projeto acabei utilizando Ubuntu 14.04. Toda a instalação, tuning, etc… foi maravilhosamente bem, até o momento em que eu foi alterar o datadir do MySQL.

Então eu parei o serviço do MySQL com o comando /etc/init/d/mysql stop , e editei o /etc/mysql/my.cnf para alterar as variáveis de datadir e variáveis de diretório das tabelas InnoDB.

Copy to Clipboard datadir = /database/mysql innodb_data_home_dir = /database/mysql innodb_log_group_home_dir = /database/mysql

Nesse momento os problemas começaram, o serviço do MySQL não …

[Leia mais]
COMO NÃO TER ERROS NAS COLUNAS AUTO_INCREMENT NA REPLICAÇÃO

Quando temos uma replicação envolvendo mais de 1 servidor master temos que tomar o cuidado para que a replicação não pare de funcionar, e o primeiro problema que qualquer DBA enfrenta é o erro de chave primária duplicada.

 Variáveis que devem ser configuradas em todos os servidores Master. Copy to Clipboard Duplicate entry '1' for key 'PRIMARY'

Porém é muito simples e fácil não passar por esse problema.
Temos 2 variáveis fundamentais e é muito simples a sua correta configuração.
Obs: O que eu mais vejo por ai é configurado da forma errada, ou configurada no chute, sem entender a forma correta de usar

Variável Descrição
auto_increment_increment Define o intervalo de valores das colunas auto_increment, o salto que o auto_incremtn vai precisar fazer para que não …
[Leia mais]
Você sabe como calcular o tamanho das suas tabelas e databases?

Uma informação legal, mais do que legal, importante, mais do que importante, necessária!

Quem nunca perguntou ou foi perguntado sobre qual o tamanho de um banco de dados ou de uma tabela?
Quando as tabelas são MyISAM da para olhar o tamanho dos arquivos, ou se for InnoDB e estiver com o innodb_per_tables habilitada até conseguimos, mas temos que nos conectarmos no servidor, acessar o diretórios e ai olhar os arquivos, depois somar os valores, etc…

Com esses simples SELECTs conseguimos essas respostas.

Verificar os tamanhos dos databases


Copy to Clipboard SELECT table_schema AS 'DB', FORMAT(SUM(TABLE_ROWS), 0) AS 'Linhas', ROUND(SUM(DATA_LENGTH + INDEX_LENGTH )/1024/1024, 3) AS 'MB' FROM information_schema.TABLES GROUP BY table_schema WITH ROLLUP; Verificar os tamanhos das tabelas de um database


Copy to Clipboard SELECT TABLE_NAME AS 'Tabela', …

[Leia mais]
Comunidade Brasileira de MySQL no Slack

Venha trocar experiências, buscar ajuda, e conversar com a comunidade brasileira de MySQL no Slack:

EmailEnviar Convite

 

Exportando tabelas InnoDB

Você sabe como exportar uma ou mais tabelas InnoDB de um database para outro ou de um servidor para outro apenas movendo os arquivos de dados? Como sabemos, com tabelas InnoDB não podemos fazer igual fazemos com tabelas MyISAM, onde basta copiarmos os 3 arquivos(MYD, MYI e FRM) da tabela MyISAM e enviar para onde … Read More →

Instalando o MySQL 5.7 no CentOS a partir dos binários

Temos 3 formas de instalar o MySQL nas distribuições Linux. As instalações podem ser feitas a partir do repositório(yum, apt-get, etc…), a partir do pacote já compilado para a sua distribuição(.rpm, .deb, etc…) ou ainda através dos binários do MySQL. Nesse momento vamos ver como fazer a instalação a partir dos arquivos binários, e já … Read More →

INSTALANDO O MYSQL 5.7 NO CENTOS COM OS ARQUIVOS RPM

Temos 3 formas de instalar o MySQL nas distribuições Linux. As instalações podem ser feitas a partir do repositório(yum, apt-get, etc…), a partir do pacote já compilado para a sua distribuição(.rpm, .deb, etc…) ou ainda através dos binários do MySQL. Nesse momento vamos ver como fazer a instalação a partir do compilado para a sua … Read More →

Instalando o MySQL 5.7 no CentOS a partir do repositório

Temos 3 formas de instalar o MySQL nas distribuições Linux. As instalações podem ser feitas a partir do repositório(yum, apt-get, etc…), a partir do pacote já compilado para a sua distribuição(.rpm, .deb, etc…) ou ainda através dos binários do MySQL. Nesse momento vamos ver como fazer a instalação a partir do repositório oficial do MySQL. … Read More →

MySQL e o GDPR

O que é o GDPR? A Global Data Protection Regulation ou Regulamento Geral sobre Proteção de Dados é uma regulamentação, criado pela União Européia, mas, com abrangência global. Antes de ser uma regulamentação, é acima de tudo, um belo conjunto de boas práticas que deveria ser adotado por toda empresa que, de alguma forma, coleta e … Continue reading MySQL e o GDPR →

MySQL Load Balancing com ProxySQL – Tutorial Master e Slave

Seguindo a série de blog posts sobre ProxySQL. Hoje vamos falar de como podemos colocar o proxysql em frente ao seu conjunto de master e slave(s) e distribuir escritas para os slaves sem ter que alterar o código da aplicação. Você pode entender mais sobre como instalar o ProxySQL e seus conceitos básicos aqui.

Neste tutorial, vamos utilizar 4 servidores:

  1. ProxySQL (192.168.112.60)
  2. Node1 – Master (192.168.112.61)
  3. Node2 – Slave-1 (192.168.112.62)
  4. Node3 – Slave-3 (192.168.112.63)

Servidores

Com o proxysql devidamente instalado vamos nos conectar na interface de administração e vamos adicionar nossos três servidores e configurar o Replication Hostgroup. Basicamente …

[Leia mais]