Mostrando entradas 1 para 10 de 22
Próximo 10 Entradas mais antigos »
Displaying posts with tag: mariadb (reset)
COMO ESCOLHER MELHOR SEUS ÍNDICES – UM BOM COMEÇO

Antes de começar a escrever suas buscas pelos dados , recomendo você a primeiro ter uma ideia do que é mais importante para seus usuários.
Quais valores e o tamanho de seus subconjunto vão conduzir a escolha do(s) índice(s) . O índice nada mais é que uma forma de acessar
mais rapidamente uma informação específica. Aqui é muito importante perceber que “informação específica” não é “todas as informações”.
E apesar de contribuirem para o acesso a determinados dados, eles vêm com um custo, tanto em armazenamento quanto em processamento. Por isso
a estratégia adotada na criação de um indice deve considerar, por exemplo, que o volume de armazenamento de um indice pode ser muito maior
que o volume de armazenamento do dado que está sendo indexado. Considere os índices em suas estratégias de backup/restore.
E quanto ao processamento? Toda ação de insert/delete/update no banco, …

[Leia mais]
MYSQL + JSON DA CASAMENTO SIM!

 

Hoje vamos falar um pouco sobre um assunto muito desejado e esperado, tanto por desenvolvedores quanto por DBAs.
O MySQL suporta armazenar documentos JSON????
A resposta é um grande e sonoro SIM!!!
Na versão 5.7.8 foi adicionado o data type JSON e com ele você pode armazenar e manipular documentos JSON.

Isso significa que posso fazer no MySQL tudo que faço no MongoDB?

Não, pelo menos por enquanto não. Eu ainda não vejo dessa forma, na maturidade atual do recurso ele já pode ajudar muito a suprir algumas necessidades em armazenar e manipular documentos JSON, mas não temos(ainda!?) uma engine completa e altamente robusta para isso!

Vamos ver alguns exemplos de como armazenar, buscar e manipular documentos JSON. Em um próximo POST vou falar sobre performance e melhores práticas.

Para esse exemplo estou utilizando o MySQL 5.7.11 que …

[Leia mais]
FEDERATED: Selecionando tabelas em outro servidor

 

Algumas vezes temos a necessidade de realizar consultas ou até mesmo JOINs com tabelas que estão em outro servidor MySQL/MariaDB. E no nosso cenário não temos um MySQL Cluster, nem um MariaDB/Percona Galera Cluster, nem sequer uma replicação, seja isso por qualquer motivo(projetos diferentes, empresas diferentes, etc…).
Para isso o MySQL tem(e faz muito tempo) uma engine específica, a engine FEDERATED. Sim ela permite realizar uma conexão com outro servidor MySQL/MariaDB e executar uma consulta em uma tabela. Mas tenha em mente que a performance vai depender de vários itens, como a velocidade da comunicação pela internet/rede local, quantidade de dados e itens relacionados a performance em geral(estrutura da tabela, índices, engine…).

No exemplo estou usando o MySQL 5.6.28, mas esse mesmo exemplo vai funcionar para o MySQL 5.5 e 5.7, no MySQL 5.1 e 5.0 não testei, se não for …

[Leia mais]
Alterando o datadir do MySQL no Ubuntu

Um procedimento comum após a instalação do MySQL é alterar o datadir e normalmente é para outra unidade de disco. Nos servidores que eu administro sempre busco deixar o datadir em uma unidade de disco e a gravação de logs em outra, isso faz não existir concorrência de I/O no momento de leitura ou gravação de dados.

Eu normalmente utilizo CentOS para o MySQL mas devido a um projeto acabei utilizando Ubuntu 14.04. Toda a instalação, tuning, etc… foi maravilhosamente bem, até o momento em que eu foi alterar o datadir do MySQL.

Então eu parei o serviço do MySQL com o comando /etc/init/d/mysql stop , e editei o /etc/mysql/my.cnf para alterar as variáveis de datadir e variáveis de diretório das tabelas InnoDB.

Copy to Clipboard datadir = /database/mysql innodb_data_home_dir = /database/mysql innodb_log_group_home_dir = /database/mysql

Nesse momento os problemas começaram, o serviço do MySQL não …

[Leia mais]
Proxy MySQL :: HAproxy || ProxySQL e KeepAlived

Então, quando se trata de rotear seu tráfego MySQL, existem várias opções. 

[Leia mais]
MariaDB: JSON datatype suportado a partir da versão 10.2

Digamos que você tenha a seguinte declaração CREATE TABLE que deseja executar em uma instância do MariaDB.

CREATE TABLE `test` (
  `id` int unsigned not null auto_increment primary key,
  `value` json null
) default character set utf8mb4 collate utf8mb4_unicode_ci

Você pode ser saudado com esta mensagem de erro;

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL
syntax; check the manual that corresponds to your MariaDB server version for the right
syntax to use near 'json null at line 1

A sintaxe inteligente é tudo de bom, mas o JSON datatype é realmente muito novo, e é apenas “suportado” (esses parênteses logo ficarão claros) a partir do MariaDB 10.2.

Antes de qualquer coisa: certifique-se de executar a versão mais recente do MariaDB.

MariaDB> select @@version;
+-----------------+
| @@version       |
+-----------------+
| 10.0.31-MariaDB | …
[Leia mais]
MariaDB MaxScale 2.1 com padrão para IPv6

Esta pequena atualização surpreendeu. Em um upgrade do MaxScale 2.0 para 2.1, o MaxScale alterou o endereço de ligação padrão de IPv4 para IPv6. Isso é mencionado nas notas de versão como esta:

O MaxScale 2.1.2 adicionou suporte para endereços IPv6. A interface padrão a que os ouvintes se ligam foi alterada do endereço IPv4 0.0.0.0 para o endereço IPv6 ::. Para vincular ao endereço IPv4 antigo, adicione address=0.0.0.0 à definição do ouvinte. – Upgrading MariaDB MaxScale from 2.0 to 2.1

O resultado é bastante significativo, porém, porque a autenticação no MySQL é geralmente baseada em host ou em IP, com permissões concedidas, como esta:

$ SET PASSWORD FOR 'xxx'@'10.0.0.1' = PASSWORD('your_password');

Observe o uso explícito do endereço …

[Leia mais]
Aumente o open-files-limit do MariaDB no CentOS com systemd

Lá se vão os dias em que simplesmente mudar as configurações no arquivo /etc/my.cnf seria suficiente. Entre para o novo mundo do systemd.

O systemd em si tem um limite que controla quantos arquivos de um determinado serviço podem ser abertos, independentemente do que você configurar no arquivo /etc/my.cnf ou no arquivo /etc/security/limits.conf.

Para aumentar os arquivos abertos do MariaDB sendo executados em um sistema RHEL ou CentOS 7 com systemd, faça o seguinte.

Primeiro, crie um novo diretório que irá realizar as mudanças no serviço MariaDB para ele. Ao fazer as alterações aqui, tenha certeza de que as atualizações de pacotes que iriam/poderiam sobrescrever o mariadb.service não sobrescreva suas próprias mudanças.

$ mkdir -p /etc/systemd/system/mariadb.service.d/

Em seguida, configure o systemd para que o serviço do MariaDB possa abrir mais …

[Leia mais]
Identificando os usuarios de aplicativo nas sessões do MySQL

Sabe quando tem uma sessão travada? Ou você precisa otimizar um processo do usuário mas existe uma centena de sessões no banco de dados e você fica caçando a danada nas tabelas de processos ou com o bom e velho “show full processlist” ?

O ideal seria que a aplicação identifica-se cada sessão no banco de dados, desenvolvedores Oracle costumam fazer esse tipo de identificação através de um pacote “DBMS_SESSION.CLIENT_INFO” e no SQL Server isso muitas vezes é feito nativamente pelo driver de conexão!

A dúvida é, como fazer isso no MySQL!? No ano passado eu até reportei um bug solicitando esse recurso pois não encontrava em lugar nenhum, mas a equipe de suporte prontamente me enviou os links dos recursos já existentes que fazem exatamente isso:

Bug:

[Leia mais]
O trabalho duro que passa despercebido ....

Originally posted: http://anothermysqldba.blogspot.com/2014/01/hard-work-that-goes-unnoticed.html

Eu levei um momento hoje e atualizado uma das minhas distribuições Linux. Nesta distribuição Acontece que eu tenho Percona 5.6 instalado como o banco de dados MySQL. Eu já mencionei antes, como você pode configurar a sua escolha de MySQL através de um repositório Yum .

Meu ponto aqui é que, como é que vamos sempre agradecer a essas pessoas por todo o trabalho que eles fazem?

Muitos desses repositórios são …

[Leia mais]
Mostrando entradas 1 para 10 de 22
Próximo 10 Entradas mais antigos »