Displaying posts with tag: performancedb (reset)
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', FORMAT(SUM(TABLE_ROWS ), 0) AS …

[Leia mais]
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 + JSON da casamento SIM!

Hoje vamos falar um pouco sobre um assunto muito desejado e esperado, tanto por desenvolvedores quanto por DBAs. O MySQL suporta armazenar documentos JSON???? A resposta é um grande e sonoro SIM!!! Na versão 5.7.8 foi adicionado o data type JSON e com ele você pode armazenar e manipular documentos JSON. Isso significa que posso … Read More →

Como selecionar dados em uma tabela que está em outro servidor

Muitas vezes temos a necessidade de realizar consultas ou até mesmo JOINs com tabelas que estão em outro servidor MySQL/MariaDB. E no nosso cenário não tenos um MySQL Cluster, nem um MySQL Galera Cluster, nem sequer uma replicação, seja isso por qualquer motivo(projetos diferentes, empresas diferentes, etc…). Para isso o MySQL tem(e faz muito tempo) … Read More →

Você sabe como listar as dependências de uma tabela?

Uma tarefa um tanto quanto chata de ser realizada é fazer um delete em uma tabela em um registro que possui filhos(ou dependência, como preferir) e que na criação da Foreign Key não é definido a opção ON DELETE CASCADE. Então você irá tentar apagar e irá aparecer essa mensagem de erro:

ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails...

Isso significa que para que seja possível apagar o registro desejado, antes será necessário apagar os filhos desse registro.

Nesse momento que bate aquela tristeza enorme, pois você não tem o MER e terá que olhar várias até achar os filhos.

Para ajudar nesse processo eu desenvolvi essa procedure que lista as tabelas que possuem filhos(apenas as tabelas que possuem filhos, pode ser que exista um FK mas a tabela não possui nenhum filho, nesse caso não irá apresentar como resultado) de um registro.

[Leia mais]
Como alterar 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 … Read More →

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. Duplicate entry '1' for key 'PRIMARY' Porém é muito simples e fácil não passar por esse problema. Temos … Read More →