Home |  MySQL Temas Mais Discutidos |  FAQ |  Feeds |  Envie feed para o blog |  Comentários |  Arquivo |  Feed agregado RSS 2.0 Português English Deutsch Español Français Italiano 日本語 Русский 中文
Mostrando entradas 1 para 30 de 382 Próximo 30 Entradas mais antigos
O que é Codename: BlueMix?
+0 Vote Up -0Vote Down

IBM Codename: BlueMix é a oferta de nuvem mais recente da IBM. Permite que as organizações e os desenvolvedores criem, implementem e gerenciem aplicativos na nuvem de maneira fácil e rápida. O BlueMix é uma implementação da Arquitetura de Nuvem Aberta da IBM baseada em Cloud Foundry, uma plataforma como serviço (PaaS) de código aberto. O BlueMix oferece serviços em nível empresarial que podem ser facilmente integrados aos seus aplicativos de nuvem sem que seja necessário saber como instalá-los ou configurá-los. Este artigo oferece uma descrição de alto nível sobre o Cloud Foundry e o IBM BlueMix e define as características e os serviços que fazem parte do BlueMix e que o tornam uma plataforma como serviço muito atraente para o

  [Leia mais...]
DatabaseCast: Dashboards
+0 Vote Up -0Vote Down

Olá, pessoal! Neste episódio do DatabaseCast Mauro Pichiliani (Twitter | Blog) e Wagner Crivelini (@wcrivelini) ficam olhando para a tela junto com a convidada Viviane Ribeiro (@viviane_sql). Neste episódio, você vai saber como a interface de um BI pode ajudar os usuários, quais são os elementos visuais que mais confundem do que ajudam, como uma pizza pode não se redonda, quem gosta de visitar submarinos, como um triângulo pode dar muito dor de cabeça e mandar um olá para o cara que

  [Leia mais...]
Fragmentação dos Objetos no InnoDB
+0 Vote Up -0Vote Down

Se o seu banco de dados passa por constantes operações de “DELETE” ou “UPDATE” ele provavelmente ficará fragmentado, fazendo com que os índices já não sejam tão eficientes como antes e os datafiles ocupem mais espaço do que o necessário em disco. Seria, algo similar a fragmentação de filesystem.

Através do catalogo do MySQL é possível identificar quanto espaço livre existe no datafile e assim identificar uma margem ou porcentagem de fragmentação por objeto. Até a versão 5.1.21 essa margem era descrita através da coluna “TABLE_COMMENT” da tabela “INFORMATION_SCHEMA.TABLES”, sendo assim bastava executar a seguinte consulta:

SELECT table_schema,
table_name,
table_comment
FROM information_schema.tables
WHERE engine LIKE 'InnoDB'
AND table_comment RLIKE 'InnoDB free:
  [Leia mais...]
MySQL Workbench 6.2.1 Beta
+0 Vote Up -0Vote Down

Foi disponibilizada uma nova versão Beta do MySQL Workbench, essa versão conta principalmente com recursos desenvolvidos para o MySQL 5.7, porém ainda existem novidades para a versão 5.6.

Os recursos que mais me chamaram a atenção e me interessam a principio, são as melhorias no Explain Visual, o que auxilia bastante na exibição gráfico dos planos de execução, principalmente quando existe a necessidade do DBA explicar ao Desenvolvedor como melhorar as consultas. Além disso as novas integrações com o MySQL Fabric parecem muito promissoras.

O “Processlist” ou “Administration – Client Connections”, ficou muito melhor, agora eles utilizam o mesmo conceito já usado no SQL Server e Oracle, exibindo o nome do programa, e traz mais informações a respeito da sessão do usuário, exibindo inclusive as “THREADS” da sessão:

  [Leia mais...]
Rotina de Rebuild – MySQL
+0 Vote Up -0Vote Down

Com o constante uso do banco de dados, operações como “delete” e “update”  acabam causando a fragmentação dos objetos nos datafiles, e isso muitas vezes prejudica a performance do banco de dados e aloca espaço desnecessariamente. Com isso torna-se necessário implementar uma rotina de manutenção capaz de otimizar o ambiente, evitando o uso de espaço desnecessário e desfragmentando os índices da tabela para uma melhor performance.

Geralmente isso é feito manualmente ou através de shell scripts, mas preferi criar um “PROCEDURE” e implementar uma rotina via “SCHEDULE” próprio MySQL, segue:

#
use mysql;
#
# TABELA DE LOG PARA MONITORAR O PROCESSO
DROP TABLE IF EXISTS mysql.mantained_table_history;
CREATE TABLE mysql.mantained_table_history(
mantained_table_schema 
  [Leia mais...]
Analisando o tamanho das tabelas,indices primários e secundários do InnoDB
+0 Vote Up -0Vote Down

É possível analisar o tamanho dos objetos do banco de dados através do catalogo do Innodb, mas para que essas informações sejam precisas, as estatisticas devem estar atualizadas!

Veja como atualizar as estatisticas no post:

http://mathiasbrem.com.br/update-statistics-mysql-innodb/

http://mathiasbrem.com.br/rotina-analyze-automatizada-via-schedule-mysql/

A consulta a seguir ajuda a avaliar o tamanho dos objetos do banco de dados:

select
INNODB_SYS_TABLESTATS.NAME,
INNODB_SYS_TABLESTATS.NUM_ROWS,
concat(round(((INNODB_SYS_TABLESTATS.CLUST_INDEX_SIZE+OTHER_INDEX_SIZE) *
  [Leia mais...]
Rotina Analyze – Automátizada via Schedule MySQL
+0 Vote Up -0Vote Down

Essa rotina foi desenvolvida com o intuito de atualizar as estatisticas de todos os databases da instância automaticamente, de forma dinâmica.

#
use mysql;
#
# TABELA DE LOG PARA MONITORAR O PROCESSO
DROP TABLE IF EXISTS mysql.mantained_table_history;
CREATE TABLE mysql.mantained_table_history(
TABLE_SCHEMA  VARCHAR(255),
TABLE_NAME VARCHAR(255),
MANTEINED_TYPE  VARCHAR(255),
STATUS VARCHAR(10),
DATE datetime,
STARTIME datetime,
ENDTIME datetime
)engine=MyISAM;
#
#
#ROTINA DE ANALYZE COM LOG + MONITORAMENTO
#
use mysql;
#
# PROCEDURE QUE REALIZA O ANALYZE
#
DELIMITER $$
DROP PROCEDURE IF EXISTS RotinaAnalyze $$
CREATE PROCEDURE RotinaAnalyze()
BEGIN
#
DECLARE done INT DEFAULT FALSE;
DECLARE query_analyze varchar(255);
DECLARE ANALYZE_TABLE_SCHEMA varchar(255);
DECLARE ANALYZE_TABLE_NAME varchar(255);
DECLARE
  [Leia mais...]
MySQL Foreign Chaves Exemplo & ERROR 1452
+0 Vote Up -0Vote Down
Original post - http://anothermysqldba.blogspot.com/2014/08/mysql-foreign-keys-example-error-1452.html

 Então, eu encontrei uma situação hoje lidar com a necessidade de atualizar um campo, mas o usuário não foi capaz de fazê-lo por causa das restrições de chave estrangeira relacionados. 

Este blog com ser um exemplo simples que mostra uma chave estrangeira e como atualizá-los se você tiver que fazê-lo. 

Primeiro vamos criar uma tabela simples e preenchê-lo com dados aleatórios. 

CREATE TABLE `table_w_code` ( 
`SOMECode` varchar(50) COLLATE utf8_unicode_ci NOT NULL, 
`NameofCode` varchar(50) COLLATE utf8_unicode_ci NOT NULL, 
PRIMARY KEY










  [Leia mais...]
Update Statistics InnoDB – MySQL
+0 Vote Up -0Vote Down

¿Qué pasa?

Simples! Atualização de estatistas do MySQL

Os bancos de dados utilizam estatísticas para definir seus planos de acesso aos dados e assim executar o caminho mais eficiente na busca pelos dados solicitados por determinada consulta. Para isso o banco de dados deve manter suas estatísticas sempre atualizadas. Por padrão o InnoDB já realiza essa atualização automaticamente, evitando que haja qualquer tipo de problema de performance por falta de informações de acesso.

Essa atualização forçada ou automatizada é controlada pela variável:

innodb_stats_persistent

Mais informações a respeito dessa configuração estão disponiveis em:

  [Leia mais...]
Verificando Locks no MySQL
+0 Vote Up -0Vote Down

Como verificar a existência de locks no ambiente ?

SELECT
*
FROM
information_schema.processlist
WHERE
state IN ('Waiting for table flush' , 'Locked', 'Table lock')
OR state REGEXP 'Waiting for .* lock'
ORDER BY time DESC

E como identificar as consultas ou sessões que estão realizando o lock?

SELECT
TRX.TRX_MYSQL_THREAD_ID,
TRX.TRX_ISOLATION_LEVEL,
TRX.TRX_STARTED,
TRX.TRX_STATE,
PROCESSLIST.USER,
PROCESSLIST.HOST,
PROCESSLIST.DB,
PROCESSLIST.COMMAND,
PROCESSLIST.TIME,
PROCESSLIST.STATE,
LOCK_WAITS.REQUESTING_TRX_ID,
LOCK_WAITS.BLOCKING_TRX_ID,
LOCK_WAITS.BLOCKING_LOCK_ID
FROM
INFORMATION_SCHEMA.INNODB_LOCKS LOCKS,
INFORMATION_SCHEMA.INNODB_TRX TRX,
INFORMATION_SCHEMA.PROCESSLIST PROCESSLIST,
INFORMATION_SCHEMA.INNODB_LOCK_WAITS LOCK_WAITS
WHERE
LOCKS.LOCK_TRX_ID = TRX.TRX_ID
AND TRX.TRX_MYSQL_THREAD_ID = PROCESSLIST.ID;

 

Fast Index Creation really matters
+0 Vote Up -0Vote Down
In one of the recent projects I’ve got involved, I had a situation where I started reviewing the data model so as to find any additional or unnecessary indexes on tables. The scenario is that one where the database was recently moved from MyISAM to InnoDB Storage Engine. So, considering that there are some critical […]
MySQL Fabric – Parte 1 Instalação
+0 Vote Up -0Vote Down
Send to Kindle

MySQL Fabric é uma ferramenta que está inclusa no MySQL Utilities que ajuda a gerenciar servidores MySQL.
Ele funciona basicamente adicionando uma nova camada entre a aplicação e os servidores MySQL, que auxilia no processo de sharding e alta disponibilidade.

Para mais informações referente ao que é MySQL Fabric, leia a documentação.

Para instalar nosso ambiente com MySQL Fabric, vamos precisar de 4 servidores, eu utilizei os seguintes nomes e IPs:

fabric1 (192.168.0.200) - fabric
mysql1 (192.168.0.201) - mysql master
mysql2 (192.168.0.202) - mysql slave
mysql3 (192.168.0.203) - mysql slave

Obs.: Estou rodando CentOS 6.5 em todos


  [Leia mais...]
InnoDB Recovery – Percona Data Recovery Toolkit
+0 Vote Up -0Vote Down

Existem 2 motivos pelos quais fariam você ler esse artigo, o primeiro é por simplesmente obter novos conhecimentos caso você ainda não conheça a ferramenta e o segundo por tentar de forma frustrada recuperar tabelas innodb e não obter sucesso! Se o seu caso é a segunda opção, calma! Você vai conseguir recuperar os dados, pode demorar um pouco mas vai! Pelo menos esse método de recuperação nunca falhou comigo!

Agora vamos ao que interessa: ( E calma, faça tudo com calma! Leia, entenda e planeje as coisas com calma! nessas horas não adianta ter pressa, o correto seria ter rotinas de backup apropriadas e ambientes de contingência, se você não tem nada disso não adianta ter pressa agora, repetindo… é hora de ter calma! HAHAHAHA )

O que é o Percona Data Recovery Toolkit e quando

  [Leia mais...]
Instalação do Ghost na nuvem
+0 Vote Up -0Vote Down

Ghost é uma plataforma de blog feita em Node.js que surgiu durante uma campanha de financiamento colaborativo bem sucedida no Kickstarter. Por ser um software livre, desde meados do ano passado ele está disponível para todos que quiserem utilizá-lo e não apenas para quem apoiou o projeto original.

O Ghost ainda está longe de ter a enormidade de recursos que o WordPress oferece, por exemplo, mas ele tem um diferencial que me agrada bastante, que é a utilização de Markdown para escrever os posts. Além disso o Ghost permite, ao menos teoricamente, uma fácil customização, por ter todo seu código fonte escrito em Javascript. Seu desempenho também deve se beneficiar da programação

  [Leia mais...]
Erro MySQL secure_auth
+0 Vote Up -0Vote Down
Original post: http://anothermysqldba.blogspot.com/2014/07/mysql-secureauth-error.html

Eu abordou os erros secure_auth antes, quando ele bloqueia a replicação neste post do blog . 

No entanto, eu percebi que eu iria fazer neste blog postar uma correção mais geral ao conectar via clientes MySQL. Isto é para os servidores antes do MySQL 5.6. 

Portanto, se você receber um erro secure_auth quando a conexão ao MySQL os seguintes passos devem resolver este





  [Leia mais...]
MySQL, Ubuntu :: mysqld não tem os direitos de acesso
+0 Vote Up -0Vote Down
Original post: http://anothermysqldba.blogspot.com/2014/07/mysql-ubuntu-mysqld-does-not-have.html

Então, hoje eu acontecem a necessidade de restaurar um banco de dados MySQL a partir de backups para que eu pudesse recuperar algumas tabelas. Enquanto eu deixei ele de banco de dados de produção em execução através da porta 3306, eu configurar o backup via porta 3307. 

No entanto, quando tentou iniciar uma outra versão através da porta 3307 em um diretório mysql_restore mas eu tive alguns erros .... 


/usr/bin/mysqld_safe --defaults-file=/etc/my_3307.cnf 

[Warning] Can't create test file /var/lib/mysql_restore/localhost.lower-test 
[Warning] Can't create test file









  [Leia mais...]
Tutorial MySQL Applier for Hadoop na VM Cloudera Quickstart - parte 1
+0 Vote Up -0Vote Down
O MySQL Applier for Hadoop é um projeto ainda em estágio alfa de desenvolvimento, mas muito promissor. O objetivo é fornecer uma solução que aplica os dados do MySQL no HDFS em tempo real, ou seja, uma alternativa ao tradicional uso de Sqoop para extrair dados do MySQL para Hadoop. Há uma explicação mais completa do MySQL Hadoop Applier aqui.
Você pode baixar os fontes em http://labs.mysql.com e compilá-los para qualquer distribuição.
Neste tutorial mostraremos como é este processo para a “VM Cloudera Quickstart”, que pode ser baixada aqui. A versão da VM utilizada neste post

  [Leia mais...]
Duplicação e espelhamento em servidores de alta disponibilidade
+0 Vote Up -0Vote Down

Em tempos em que informações valem ouro e estas precisam manter-se disponíveis em tempo integral para que possam ser manipuladas, consultadas, transferidas, copiadas ou qualquer outra finalidade a que se destinem, é necessário redobrar a atenção com a disponibilidade dos servidores de bancos de dados. Um servidor instável, offline ou mesmo danificado pode trazer sérios prejuízos para empresas que trabalham com informações, realizam métricas e análises de dados, para o mercado de Big Data etc. Uma técnica já bastante popularizada de “backup” das informações de servidores de bancos de dados é a replicação. Ela consiste em criar réplicas dos dados entre servidores paralelos, de forma que, em caso de falha de um servidor, os dados ainda estejam disponíveis em outra instância para que o negócio não deixe de

  [Leia mais...]
Força Bruta com Banco de Dados
+0 Vote Up -0Vote Down
HexorBase é um utilitário no máximo razoável, mas, que se não for de grande serventia, é pelo menos diversão garantida para muitos DBA’s e SysOP’s que gostam de dar aquela olhadinha no alheio. O próprio desenvolvedor se refere ao HexorBase […] ↓ Leia o restante deste post...
Automatizando seu banco de dados com o plugin FlyWay
+0 Vote Up -0Vote Down

Olá, pessoal!

No artigo de hoje, vou mostrar para vocês como podemos automatizar a criação de um banco de dados usando o plugin flyway. Aqui na ITS, temos usado o plugin para aumentar a produtividade e sempre manter a integridade dos ambientes.

Let’s go…

O problema

Há várias ferramentas e formas de automatizar a criação das tabelas do banco com cenários já prontos ou até vazios. Aqui na ITS, para os projetos Java, temos usado o flyway, apesar de termos testado outras como o DBMaintain, mas optamos pelo plugin flyway, já que em termos de resultado final era semelhante ao dbmaintain, porém a curva de aprendizado e a configuração eram mais rápidas. Para projetos Ruby, estamos vendo outra solução.

O problema que tínhamos aqui era a criação da base de dados para cada ambiente, desde local

  [Leia mais...]
Conheça três plataformas de ecomerce simples e acessíveis
+0 Vote Up -0Vote Down

Pequenos empresários e empreendedores que desejam criar uma loja na Internet não precisam investir enormes somas em software e hardware. Uma loja online pode ser acessível mesmo para pequenas empresas ou empresários individuais. Uma solução para os não técnicos é vender os produtos através de sites de leilões ou marketplaces e pagar uma taxa para o prestador de serviços.

Como alternativa, os provedores de hospedagem oferecem sistemas de lojas prontas para seus clientes, permitindo-os disponibilizar seus produtos para venda online apenas cadastrando os produtos em uma loja hospedada no próprio provedor. Essa solução geralmente implica no pagamento de uma taxa mensal ou de um preço fechado. Muitos sistemas de gerenciamento de conteúdo também contêm módulos de loja virtual prontos para uso. Executar uma loja em um servidor próprio

  [Leia mais...]
[MySQL] - Gerando XML de Consultas
+0 Vote Up -0Vote Down
Bom pessoal essa dica é para gerar XML de consultas no MySQL. Comando: mysql --xml -uroot -e "select * from information_schema.schemata" -p > resultset.xml Documentação: http://dev.mysql.com/doc/refman/5.6/en/mysql-command-options.html#option_mysql_xml
Código bom é código performático
+0 Vote Up -0Vote Down

Todo desenvolvedor precisa ter a consciência de que é preciso otimizar o código desde o início da codificação. Seguir boas práticas de codificação é o ponto de partida para escrever um código otimizado e legível.

Separei 10 dicas de otimização de código para ajudar no aumento de performance.

1. Use funções nativas do PHP

Sempre que possível, utilize as funções nativas do PHP ao invés de escrever suas próprias funções para atingir o objetivo. Caso ainda não esteja totalmente familiarizado com a linguagem, procure no manual se a função que você quer existe.

2. Prefira utilizar aspas simples

Aspas simples ( ‘ ) é mais rápido que aspas duplas ( “ ). Quando você usa a aspa simples entende-se que o conteúdo é um string, porém quando você utiliza aspas duplas, o compilador

  [Leia mais...]
Tabela de erro MySQL 1064
+0 Vote Up -0Vote Down
Original post : http://anothermysqldba.blogspot.com/2014/06/mysql-table-error-1064.html

Então me deparei com uma situação estranha hoje. 

Eu tenho um sistema que cria tabelas de memória usando o PHP $ _COOKIE ['PHPSESSID'] valor. 

Uma vez que um trabalho é feito, em seguida, cai a mesa. 

Duas tabelas de amostra estão abaixo do meu exemplo. 


@@VERSION: 5.6.19-log 
CREATE TABLE `f7a7a8d3a7ba75b5eb1712864c9b27eb` ( 
-> `id` int(11) NOT NULL AUTO_INCREMENT, 
-> PRIMARY KEY (`id`) 
-> ) ENGINE=MEMORY; 

CREATE TABLE `8865e52c7e1bea515e7156f240729275` ( 
-> `id` int(11) NOT NULL AUTO_INCREMENT, 
-> PRIMARY KEY


















  [Leia mais...]
Depurando requisições HTTP via CLI
+0 Vote Up -0Vote Down

Você é administrador de sistema. Você ama CLI. Você usa PHP. É claro que você consegue solucionar problemas de aplicativos PHP que normalmente são executados por meio de um servidor HTTP via CLI, certo? Bem, tenho boas notícias: você consegue – com algumas ressalvas. Este artigo é a continuação de outro que escrevi para um blog em 2012 intitulado “Executando scripts php-cgi via CLI como um servidor web faria (falsificando-os)”. Se você consegue executar seus aplicativos PHP via CLI, pode usar

  [Leia mais...]
Inteiros aleatórios do MySQL.
+0 Vote Up -0Vote Down
Original post: http://anothermysqldba.blogspot.com/2014/06/mysql-random-integers.html

Esta não é uma característica nova, por qualquer meio, mas é uma pergunta que eu tenho acontecer para ver aparecer de vez em quando. Assim, um exemplo rápido é seguinte. 

Para gerar um número aleatório dentro do MySQL você pode utilizar o piso e as funções de Rand. Os MySQL documentos manuais esta aqui: http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html #



  [Leia mais...]
PHP + Google App Engine
+0 Vote Up -0Vote Down

Há algum tempo, o Google criou o App Engine, plataforma como serviço na nuvem do gigante das buscas, que até então suportava Java, Python e Go. No Google I/O de 2013, foi apresentada uma nova linguagem suportada pelo PaaS da empresa mais buscada de Mountain View: PHP. Essa foi a “feature” mais pedida pela comunidade App Engine e, nesse caso, os pedidos foram atendidos.

O que é cloud computing? O App Engine é melhor que seus concorrentes? Consigo fazer café no App Engine? São perguntas que não serão respondidas neste artigo. Pretendo apresentar um aplicativo simples até seu deploy no GAE (Google App Engine). Em um próximo artigo, iremos mais fundo no SDK PHP.

O primeiro passo é criar um aplicativo no Console de Desenvolvedor do GAE, informando um nome e um ID para o mesmo – para isso, basta ter uma conta Google. O ID, como esperado,

  [Leia mais...]
Backup lógico e tabelas federadas em: o mistério do backup malcriado
+0 Vote Up -0Vote Down
É muito frustrante quando precisamos retornar um backup, e, fatalmente, descobrimos que o arquivo está corrompido ou até incompleto. Às vezes, mais do que frustração, esta prosaica situação pode vir acompanhada de prejuízos, aborrecimentos, demissões, e, outras chatices. Portanto, cuidar […] ↓ Leia o restante deste post...
Instalando Percona XtraDB Cluster
+0 Vote Up -0Vote Down
Original post: http://anothermysqldba.blogspot.com/2014/06/installing-percona-xtradb-cluster.html

Então, é claro Percona tem documentação que explique o processo. O objetivo deste blog é para entrar em um pouco mais detalhadamente na esperança de que possa ajudar alguém. 

Hyperlinks para a revisão: 





  [Leia mais...]
MySQL Backup Manager – “FromDual”
+0 Vote Up -0Vote Down

Acabo de ver mais um avanço em ferramentas para MySQL! A “FromDual” empresa que desenvolve e presta consultoria em MySQL lançou uma nova versão de seu Toolkit! Temos agora uma poderosa ferramenta de catalogo e centralização de backups, capaz de gerenciar a execução de backups: (Xtrabackup, Dump, Binlog) e catalogar o histórico de execução! Algo muito similar ao “RMAN” do Oracle.

Eu já fiz diversos scripts que catalogam e gerenciam a retenção dos backups, mas isso é muito personalizado e cada leitor deve customizar segundo suas necessidades! Agora essa ferramenta faz tudo isso de forma mais organizada e profissional!

A ferramenta é recente e portanto a noticia é quentinha! Segue:

Instruções e documentação da ferramenta (Contem a lista de pacotes necessários para o funcionamento da ferramenta ):

  [Leia mais...]
Mostrando entradas 1 para 30 de 382 Próximo 30 Entradas mais antigos

Planet MySQL © 1995, 2014, Oracle Corporation and/or its affiliates   Legal Policies | Your Privacy Rights | Terms of Use

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.