Planet MySQL Planet MySQL: Meta English Deutsch Español Français Italiano 日本語 Русский 中文
Mostrando entradas 1 para 10 de 385 Próximo 10 Entradas mais antigos
Trabalhando com banco de dados no Drupal – como escrever ou atualizar um registro
+0 Vote Up -0Vote Down

Apesar de não ser uma tarefa tão comum para muitos projetos em Drupal, algumas customizações podem precisar de soluções nas quais seja necessário o uso de novas tabelas para registrarmos dados que não se enquadram como nodes, taxonomias, usuários e etc. O uso de tabelas próprias não se restringe a módulos personalizados, criados especificamente para um determinado projeto. É muito comum encontrarmos casos como estes em módulos contribuídos no drupal.org.

Para facilitar estas tarefas de manipulação de dados, o Drupal nos provê algumas funções muito úteis, como a função drupal_write_record(), por exemplo.

Um caso muito comum de uso de tabelas próprias é quando utilizamos de entidades personalizadas, que possuem suas próprias tabelas para armazenar o valor de suas propriedades. Neste caso,

  [Leia mais...]
Proteja sua senha do Ghost com criptografia
+0 Vote Up -0Vote Down

No artigo anterior, ensinei a instalar o Ghost na Nuvem. Hoje abordarei uma configuração importante após finalizar o processo de instalação. Cada vez que você digita sua senha para ter acesso ao painel administrativo de seu site, o navegador envia essa senha para o seu servidor, para que ele autentique seu acesso ao sistema. Se você não utiliza nenhuma criptografia nesse processo, seu navegador irá enviar a senha em formato texto puro (“plain text”), o que significa que qualquer um poderá ver sua senha, caso esteja utilizando uma técnica chamada de “sniffing”. Isso é particularmente problemático caso essa pessoa esteja na mesma rede que você, principalmente em locais com acesso wifi público, como

  [Leia mais...]
SELINUX MySQL – Liberando o datadir para outro diretório
+0 Vote Up -0Vote Down

É comum ver administradores desativando o SELINUX para possibilitar alterações nas configurações do MySQL, tais como a mudança do diretório de armazenamento de dados o “datadir”, porém essa não é uma prática muito segura, em alguns casos de corporações que passam por processos de auditoria ou de ambientes que exigem altos padrões de segurança, o correto é configurar o SELINUX adequadamente, alterando a parametrização. O erro mais comum encontrado é o seguinte:

130321 11:50:51 mysqld_safe Starting mysqld daemon with databases from /datadir
...
2013-03-21 11:50:52 2119 [Warning] Can't create test file /datadir/boxy.lower-test
2013-03-21 11:50:52 2119 [Warning] Can't create test file /datadir/boxy.lower-test
2013-03-21 11:50:52 2119 [ERROR] /usr/sbin/mysqld: Can't create/write to file
  [Leia mais...]
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...]
Mostrando entradas 1 para 10 de 385 Próximo 10 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.