Estive no MySQL Connect anexo ao Oracle Open World 2012. No ano passado não valeu Neste ano, podemos considerar como o primeiro evento oficial da Oracle, anexada ao já tradicional Oracle Open World. O evento aconteceu no Hilton Hotel de […] ↓ Read the rest of this entry...
« Anterior 10 Mais recentes entradas | Próximo 2 Entradas mais antigos »
Pessoal, neste post vou falar sobre os tipos de dados suportados pelo MySQL e suas derivações. Quando falamos em tipos de dados, isso está inteiramente ligado a normalização e criação das tabelas do seu esquema (Schema) ou banco de dados … Continuar lendo →
Fala galera, hoje vamos falar sobre como formatar datas no
MySQL.
Para este tutorial, estou usando o mysql server 5.5
Basicamente o que você precisa saber e utilizar a função DATE_FORMAT do mysql
vamos criar uma tabela e popular ela com algumas datas:
CREATE TABLE IF NOT EXISTS `dates` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; INSERT INTO `dates` (`id`, `date`) VALUES (1, '2012-10-17 13:39:55'), (2, '2012-10-09 09:23:11'), (3, '2012-08-24 16:47:07');
Beleza? então agora vamos restaurar esse valores e exibi-los de forma correta:
SELECT id, DATE_FORMAT( `date` , '%d/%c/%Y %H:%i:%s' ) AS `date` FROM `dates`
Fácil NE? …
[Leia mais]Ambos os tipos de campo “texto” podem ser definidos com um comprimento máximo no MySQL. A principal diferença entre os dois tipos de campos é que o CHAR sempre armazenará o texto com o tamanho fixo, mesmo que o “texto” seja menor do que o tamanho máximo especificado na criação do campo. Neste caso, o próprio SGBD do MySQL irá usar espaços a direita do “texto” preenchendo o campo até a quantidade máxima especificada em sua criação. Note, que esses espaços serão removidos quando você recuperar os dados a armazenados.
Por outro lado, “textos” armazenadas em uma coluna VARCHAR exigem apenas o tamanho do “texto” armazenado. Portanto, a palavra “ivo” em uma coluna VARCHAR(10) irá requerer quatro bytes de espaço (o comprimento do “texto” mais 1), enquanto em uma coluna CHAR(10), a mesma palavra exigirá 10 bytes de …
[Leia mais]Vários blogs “especializados” no Brasil e no mundo estão noticiando que a Oracle está fechando o código fonte o MySQL, e, tirando funcionalidades que ajudam desenvolvedores externos (terceiros) a desenvolver o que chamamos de “plugins” e/ou “storage engines”. Algumas coisas […] ↓ Read the rest of this entry...
Este post tem o objetivo de ajudar o desenvolvedor na escolha adequada do tipo de campo que deverá utilizar no banco MySQL para persistir seus dados.
O desenvolvedor inexperiente costuma confundir bastante os tipos de campo da linguagem utilizada (PHP por exemplo) com os tipos que o banco pode armazenar. Um exemplo clássico dessa confusão é o booleano que é automaticamente convertido de true para 1 e false para 0 (zero). Além disso, há o clássico erro de armazenamento de CPF em campo numérico o que faz com que todos os zeros a esquerda se percam.
Portanto coloco abaixo a tabela com os campos do MySQL para que sirva de um guia de implementação do banco de dados de sua aplicação.
Lembro ainda que antes de mais nada você deve identificar qual o tipo de variável que irá armazenar: número, texto, binário, data, lista ou combinação destes. Em seguida estimar o tamanho do campo e se será …
[Leia mais]Para explicar a replicação, iremos utilizar o artigo Instalando MySQL 5.5 Parte 2 – Múltiplas instâncias pois iremos precisar de 2 instâncias rodando no nosso servidor.
Iremos ativar os logs binários do nosso servidor, criando um arquivo my_rep.cnf com o seguinte conteúdo:
[mysqld_multi] mysqld = /mysql/mysql/bin/mysqld_safe mysqladmin = /mysql/mysql/bin/mysqladmin [mysqld1] port = 3306 datadir = /mysql/3306/data socket = /mysql/3306/mysql.sock log-error = /mysql/3306/logs/mysqld.log pid-file = /mysql/3306/mysqld.pid server_id = 1 #LOGS log-bin = /mysql/3306/logs/server1_bin.log log-bin-index = /mysql/3306/logs/server1_log-bin.index expire_logs_days = 7 binlog-format = MIXED [mysqld2] port = 3307 datadir = /mysql/3307/data socket = /mysql/3307/mysql.sock log-error = /mysql/3307/logs/mysqld.log pid-file = …[Leia mais]
Hoje vamos falar de uma ferramenta bem bacana do MySQL, o query
cache.
o query cache salva resultados de SELECT’s já executados e que
seus dados brutos não tenham sido alterados tornando assim o
tempo de resposta da query muito mais otimizada, pois ele vai
buscar da memória e não do disco.
Ele pode trabalhar de 3 maneiras diferentes, no nosso my.ini
dentro do grupo [mysqld]:
query_cache_type = 0
Desligado
query_cache_type = 1
Ligado para todas as query’s
query_cache_type = 2
Ligado sobre demanda
Mas qual a melhor maneira de utilizar o query cache?
Tendo em vista que toda a vez que você altera dados em alguma
tabela, ele invalida o cache da mesma, o mais indicado é você
fazer um mapeamento da frequencia de atualização das tabelas e
utilizar o cache para as que não tenham uma frequencia grande a
atualização / inserção, para …
Hoje vamos falar de um assunto muito importante para
administradores de banco de dados, o BACKUP.
Existem várias estratégias de backup, snapshot, dump, dump +
binlog, tudo depende da sua necessidade e do tamanho do seu banco
de dados. Vou explanar um pouco sobre a ferramenta que o próprio
MySQL nos provê, que é o mysqldump, eu indico esta
ferramenta para bancos de dados que possuam até 15gb/20gb, mais
que isso, a probabilidade de você ter problemas para restaurar um
backup e a grande demora, o tornam inviável.
Como o mysqldump funciona? Ele nada mais faz do
criar comandos sql para nossa estrutura e dados e os jogar no
arquivo indicado.
Primeiramente, vou explicar algumas das mais importantes opções
do mysqldump depois, para quem tem o MySQL instalado
em um servidor LINUX, vou ensinar como compactar o dump em tempo
real.
- Fazendo backup de
…
[Leia mais]
Dando continuidade ao nosso post anterior, hoje vamos subir varias
instâncias do MySQL em um mesmo servidor, pratica muito comum
hoje em dia, ao invés de criar uma única instância com 100% dos
recursos do servidor, se divide a carga de QPS (querys por
segundo) entre várias instâncias.
O mysqld_multi irá procurar por grupos
[mysqldN] dentro do nosso arquivo de configurações
my.cnf, onde N é um numero inteiro que
será utilizado posteriormente para referenciarmos qual servidor
vamos dar START STOP ou visualizar o
REPORT
- Já temos a seguinte estrutura em nosso servidor:
|_3306/
|_data/
|_logs/ - Vamos criar a estrutura da instância …
« Anterior 10 Mais recentes entradas | Próximo 2 Entradas mais antigos »