Displaying posts with tag: MySQL (reset)
Criando um Lamp com seu Docker

Bastante pessoas me pediram para criar uma documentação sobre como configurar um LAMP (Linux, Apache, Mysql e PHP) com o Docker.

Para esse artigo, usaremos o Docker e Docker-compose, mas não entremos nos detalhes básicos sobre seu uso. Caso ainda não sabia usar essas ferramentas, apresento os links abaixo para aprender as ferramentas citadas:

Para configurar um LAMP, faremos o uso de um ambiente com dois containers.

Crie uma pasta para seu projeto e dentro dessa pasta crie um arquivo docker-compose.yml com o seguinte conteúdo:

web:
image: tutum/apache-php …
[Leia mais]
Desenvolvendo uma aplicação web com Lumen e MySQL

O Lumen é um novo microframework PHP desenvolvido por Taylor Otwell, o mesmo autor do famoso framework Laravel. Eu quis lhe dar uma chance e estou aqui para compartilhar as minhas experiências. Não sou um especialista em Lumen (ainda), mas acho que uma das melhores características desse framework é que ele torna realmente muito fácil iniciar um novo projeto. Então, para provar isso, vamos agora construir um aplicativo totalmente funcional suportado por um banco de dados MySQL em menos de 30 minutos. Você está pronto para começar?

Uma frase motivacional diária

Nosso aplicativo deve ser bastante simples, mas eu gostaria também de fazer algo útil. Sou um grande fã de citações motivacionais, e se …

[Leia mais]
Forçando transação vitima de rollback em deadlock

Se você utiliza uma Storage Engine que suporta transações, você provavelmente já enfrentou ou ouviu falar de deadlock's.

Na Documentação do MySQL podemos ver:
“Always be prepared to re-issue a transaction if it fails due to deadlock. Deadlocks are not dangerous. Just try again.”
“Sempre esteja preparado para re-executar uma transação se ela falhar por causa de deadlock. Deadlocks não são perigosos. Apenas re-execute a transação.”

Na empresa em que trabalho, temos um importante processo que de vez em quando falha por causa de deadlock. Decidi então melhorar este processo e fazer o que a documentação diz (re-executar a transação).
Para fazer isso, Eu queria poder reproduzir o scenario do deadlock e a transação vitima do rollback teria que ser a do processo em questão.

[Leia mais]
Trabalhando com o INFORMATION_SCHEMA

Olá pessoal!

Hoje eu vou falar um pouco sobre o INFORMATION_SCHEMA e as informações contidas nesta base de dados.

O que é o INFORMATION_SCHEMA?

O INFORMATION_SCHEMA é um banco de dados somente leitura que fornece acesso aos METADADOS (metadata) do servidor. Os metadados são dados sobre os dados, tais como o nome de uma base ou de uma tabela, o tipo de dados de uma tabela, ou privilégios de acesso. Outros termos que às vezes são usados para estas informações são: data dictionary e system catalog. É o banco de dados de informações, informações sobre todos os outros bancos de dados que o servidor MySQL mantém. Dentro do INFORMATION_SCHEMA existem várias tabelas que são somente leitura, não são tabelas de base, não existem arquivos associados a elas. Além disso, não há nenhum diretório de banco de dados com esse nome.

Embora você possa selecionar o INFORMATION_SCHEMA como banco de …

[Leia mais]
Trabalhando com o INFORMATION_SCHEMA

Olá pessoal!

Hoje eu vou falar um pouco sobre o INFORMATION_SCHEMA e as informações contidas nesta base de dados.

O que é o INFORMATION_SCHEMA?

O INFORMATION_SCHEMA é um banco de dados somente leitura que fornece acesso aos METADADOS (metadata) do servidor. Os metadados são dados sobre os dados, tais como o nome de uma base ou de uma tabela, o tipo de dados de uma tabela, ou privilégios de acesso. Outros termos que às vezes são usados para estas informações são: data dictionary e system catalog. É o banco de dados de informações, informações sobre todos os outros bancos de dados que o servidor MySQL mantém. Dentro do INFORMATION_SCHEMA existem várias tabelas que são somente leitura, não são tabelas de base, não existem arquivos associados a elas. Além disso, não há nenhum diretório de banco de dados com esse nome.

Embora você possa selecionar o INFORMATION_SCHEMA como banco de …

[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 … Read More →

Como selecionar dados em uma tabela que está em outro servidor

Muitas 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 tenos um MySQL Cluster, nem um MySQL 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) … Read More →

MySQL 5.7 senha root gerada automaticamente

Fala pessoal.

Vocês devem ter notado algo diferente quando instalaram o MySQL 5.7 do zero, seja via yum ou pelos binários que o MySQL disponibiliza. O password do usuário root é gerado automaticamente.
Ok, e aonde eu posso encontra-lo ?

Centos
cat /var/log/mysqld.log | grep "A temporary password is generated for" | awk '{print $NF}'
Examplo:

[root@master ~]# cat /var/log/mysqld.log | grep "A temporary password is generated for" | awk '{print $NF}'
a3BGf#TY.pBj

Versão binária
Quando você rodou o comando para inicializar o datadir mysqld --initialize você verá a seguinte mensagem na sua tela:

. . .
2016-01-13T21:05:03.070322Z 1 [Note] A temporary password is generated for root@localhost: vL8n>Hs%kr>s
. . .

Você terá que alterar a senha do usuário no primeiro login. Você pode fazer isso …

[Leia mais]
MySQL 5.7 senha root gerada automaticamente

Fala pessoal.

Vocês devem ter notado algo diferente quando instalaram o MySQL 5.7 do zero, seja via yum ou pelos binários que o MySQL disponibiliza. O password do usuário root é gerado automaticamente.
Ok, e aonde eu posso encontra-lo ?

Centos
cat /var/log/mysqld.log | grep "A temporary password is generated for" | awk '{print $NF}'
Examplo:

[root@master ~]# cat /var/log/mysqld.log | grep "A temporary password is generated for" | awk '{print $NF}'
a3BGf#TY.pBj

Versão binária
Quando você rodou o comando para inicializar o datadir mysqld --initialize você verá a seguinte mensagem na sua tela:

. . .
2016-01-13T21:05:03.070322Z 1 [Note] A temporary password is generated for root@localhost: vL8n>Hs%kr>s
. . .

Você terá que alterar a senha do usuário no primeiro login. Você pode fazer isso …

[Leia mais]
Que aspectos levar em consideração em bancos de dados de código aberto?

Desde que o Linux se tornou um sistema operacional viável para servidores, as organizações vêm buscando todos os tipos de software de código aberto (OSS) para economizar em custos de licenças e manutenção e aproveitar as vantagens de uma plataforma aberta que convide à inovação.

Os exemplos são muitos: o Apache e o Nginx impulsionam a maioria dos servidores Web, o WordPress executa cerca de 25% dos 100.000 principais sites em todo o mundo, o OpenStack está se tornando uma plataforma de nuvem mais viável a cada versão, e as melhores ferramentas de DevOps têm código aberto.

Mas o mais interessante é o espaço dos bancos de dados de código aberto.

Uma breve retrospectiva

No passado, muitos softwares eram executados em bancos de dados tecnicamente considerados NoSQL – a maioria dos aplicativos de cliente-servidor era desenvolvida com bTrieve (posteriormente PervasiveSQL), dBase ou Clarion. Depois …

[Leia mais]