Displaying posts with tag: MySQL (reset)
Como Usar o information_schema Para Calcular o Tamanho de 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é … Read More →

Localize Um Valor em Qualquer Tabela do MySQL

Isso não é um tarefa normal muito menos rotineira. Porém volta e meia me deparo com situações onde eu ou colegas necessitam localizar algum valor no MySQL, porém sem fazer ideia de em qual tabela se encontra.
Para isso desenvolvi essa procedure.
Ela se encarrega de procurar algum valor em todas as colunas de todas.

Use com moderação, pois dependendo da quantidade de dados que você tiver, pode afetar o desempenho do servidor.

DELIMITER $
CREATE PROCEDURE sp_searchValueInDB(_P_VALUE_ varchar(100), _P_DB_ varchar(64), _P_TYPE_ ENUM('char', 'numeric', 'date'))
BEGIN
 -- This procedure performs searches in all columns of a database.
 -- The execution performance will depend greatly on the size of your database.
 -- Contacts: Diego Hellas/diegohellas@gmail.com
 -- 2014-10-13
 -- _P_VALUE_: what is sought
 -- _P_DB_: Database name for search
 -- _P_TYPE_: Type of data that will be fetched, it helps …
[Leia mais]
DatabaseCast: Melhores episódios

Olá, pessoal! Neste episódio do DatabaseCast Mauro Pichiliani (Twitter | Blog) e Wagner Crivelini (@wcrivelini) gravam presencialmente pela primeira vez e comentam quais são seus episódios preferidos do DatabaseCast. Neste episódio você vai saber quem é fã de Rock’n’Roll, como uma água pode ser blended, dicas para reduzir seu ego e mandar um alô para possíveis anunciantes.

Não deixe de nos incentivar digitando o seu comentário no final deste artigo, mandando um e-mail para  databasecast@gmail.com, seguindo o nosso twitter …

[Leia mais]
InnoDB Create Tablespace – MySQL 5.7

Sim, isso mesmo que você está pensando! A Oracle está desenvolvendo e já deixou disponível uma versão beta para testes! Será o mesmo gerenciamento existente no Oracle, onde existe o conceito de se criar uma Tablespace, adicionar Datafiles as Tablespace e criar os  objetos dentro das Tablespaces.

Com esse conceito, será possível por exemplo, criar várias tabelas em uma Tablespace com compressão, e assim manter todo o gerenciamento de compressão em uma única área, evitando ter várias tabelas com vários gerenciamentos. Com isso é possível administrar de modo mais fácil os recursos de hardware e alocação do banco de dados.

Por exemplo:

CREATE TABLESPACE `TBS_DADOS_COMPRESS` ADD DATAFILE 'TDS_DC_DATAFILE1.ibd' [FILE_BLOCK_SIZE=4];

CREATE TABLESPACE `TBS_DADOS` ADD DATAFILE 'TDS_D_DATAFILE1.ibd' [FILE_BLOCK_SIZE=8];

CREATE TABLE ITEM_VENDA TABLESPACE=`TBS_DADOS_COMPRESS`;

ALTER TABLE tbl_name …
[Leia mais]
Girando MySQL Logs lentas

Original post: http://anothermysqldba.blogspot.com/2014/10/rotating-mysql-slow-logs.html

Ao trabalhar com diferentes clientes acontecer de eu correr em grandes arquivos de log lento ao longo do tempo. Embora existam várias opiniões sobre como eles devem ser rodados. Muitas dessas opiniões usar rotação de log eo comando liberar registros, prefiro não liberar meus logs binários embora. É por isso que eu concordo com o Ronald Bradford blog de ​​anos atrás sobre como fazer isso. 

[Leia mais]
Como Fazer Para Localizar uma Coluna no seu Banco de Dados MySQL

Se tem algo que é extremamente chato de fazer, principalmente quando não existe online de um Banco de Dados, é localizar uma coluna no meio de dezenas de tabelas.

Com esse SELECT, você pode facilmente localizar as tabelas que contém alguma coluna com o nome que você precisa.

SELECT TABLE_SCHEMA AS DB, TABLE_NAME AS Tabela, COLUMN_NAME AS coluna
 FROM INFORMATION_SCHEMA.COLUMNS
 WHERE
 TABLE_SCHEMA = 'nome do seu database'
 AND COLUMN_NAME = 'nome da sua coluna'

Também pode user utilizado o operador LIKE no lugar o =
Ex: AND COLUMN_NAME LIKE ‘%nome da sua coluna%’

Eu uso muito esse SELECT, espero que ajude vocês também.

3 Maneiras Para Você Realizar Backup no MySQL Agora Mesmo

Esse é um assunto pouco abordado, muito negligenciado e EXTREMAMENTE importante.
Nesse artigo vamos ver 3 formas de realizar o backup, restore, otimizações e o tão polêmico backup incremental no MySQL.

Vamos ver o MYSQLDUMP, INTO OUTFILE/LOAD DATA INFILE e LOG BINÁRIO. São 3 formas distintas de realizar uma tarefa tão importante.

MYSQLDUMP

Método tradicional e bem difundido, ele realiza a extração das estruturas de databasestables e dados para um arquivo texto, onde o conteúdo são comandos …

[Leia mais]
Backup com o Log Binário

Nesse post vamos ver como utilizar o log binário para realizar backups e restore.

Esse é o método de backup mais complicado para ser gerenciado, porém se bem arquitetado é uma poderosa ferramenta de backup.
O logbin é um log de eventos que guarda todas as alterações que são feitas no servidor MySQL, seja de comandos DDL ou DML. Ele é usado em sua grande maioria dos casos apenas para a replicação, mas ele pode(e deve) ser utilizado como backup(incremental), uma vez que tudo que que altera o seu servidor é registrado.

O primeiro passo é habilitar o log binário, para isso edite o my.cnf

[mysqld]
log_bin = /var/log/mysql/mysql-bin.log

Como todas as alterações são escritas no logbin, ele tende a crescer bastante e é interessante adicionar opções, como por exemplo, mas cuidado, entende bem para que serve cada uma das opções.

Remover os arquivos com mais de …

[Leia mais]
Backup com INTO OUTFILE/LOAD DATA INFILE

Nesse post vamos ver como criar backups utilizando o comando INTO OUTFILE e como restaurá-los com o comando LOAD DATA INFILE.

Basicamente é a exportação do conteúdo das tabelas para um arquivo texto(csv por exemplo) e a restauração dos arquivos texto para as tabelas.
Esse método é mais trabalhoso, pois é necessário realizar o procedimento para cada uma das tabelas e é feito o backup apenas dos dados, sendo necessário realizar o backup da estrutura separadamente.
Segundo a documentação o comando LOAD DATA INFILE é até 20x mais rápido do que o INSERT gerado pelo mysqldump. Mas esse tempo pode ser melhorado ainda mais caso alguns procedimentos sejam realizados, vamos discuir sobre eles.

Fazendo o Backup
Vamos usar o “SELECT … INTO OUTFILE”, veja mais em: …

[Leia mais]
Backup com mysqldump

Nesse post vamos ver como usar o mysqldump para realizar backups e como restaurá-los.

O mysqldump é a ferramenta que já vem com o MySQL para realização de backups, ela realiza a exportação dos dados dos databases(tabelas, procedures, functions, triggers e views) para um arquivo texto, onde o seu conteúdo são comandos DML e DDL.

Muita gente reclama que o mysqldump é lento ou gera locks nas tabelas no momento do backup, gerando uma fila de requisições gigante, elevando o load, uso de memória, swap, etc, caos total… Isso até pode ser verdade, mas sempre temos formas de não passar por esses problemas.

Eu sempre recomendo e faço os meus backups em um servidor slave, ou seja, monto uma replicação e realizo o backup a …

[Leia mais]