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 →
« Anterior 10 Mais recentes entradas | Próximo 10 Entradas mais antigos »
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]
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]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]
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.
- …
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.
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 databases, tables e dados para um arquivo texto, onde o conteúdo são comandos …
[Leia mais]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]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: …
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]« Anterior 10 Mais recentes entradas | Próximo 10 Entradas mais antigos »