Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

15 dicas úteis de ajuste e otimização de desempenho do MySQL/MariaDB


MySQL é um poderoso Sistema de Gerenciamento de Banco de Dados Relacional de código aberto ou em resumo RDBMS . Foi lançado em 1995 (20 anos). Ele usa Linguagem de consulta estruturada que é provavelmente a escolha mais popular para gerenciar conteúdo em um banco de dados. A versão mais recente do MySQL é 5.6.25 e foi lançado em 29 de maio de 2015 .

Um fato interessante sobre o MySQL é o fato de que o nome vem de Michael Widenius (criadora do MySQL) filha Meu. Mesmo embora existam muitos fatos interessantes sobre o MySQL, este artigo pretende mostrar algumas práticas úteis para ajudá-lo a gerenciar seu servidor MySQL.

Em abril de 2009 o projeto MySQL foi comprado pela Oracle. Como resultado, um fork da comunidade MySQL chamado MariaDB foi criado. A principal razão para a criação do fork foi manter o projeto livre sob a Licença Pública Geral.

Hoje MySQL e MariaDB são um dos RDBMS mais usados ​​(se não o mais) usados ​​para aplicativos da Web, como WordPress , Joomla , Magento e outros.

Este artigo mostrará algumas dicas básicas, porém úteis, de como otimizar o ajuste fino do desempenho do MySQL/MariaDB. Lembre-se de que este artigo pressupõe que você já tenha o MySQL ou o MariaDB instalado. Se você ainda está se perguntando como instalá-los em seu sistema, você pode seguir nossos extensos guias aqui:
  1. Instalando o LAMP no RHEL/CentOS 7
  2. Instalando o LAMP no Fedora 22
  3. Configurando o LAMP no Ubuntu 15.04
  4. Instalando o MariaDB no Debian 8
  5. Instale o MariaDB no Gentoo Linux
  6. Instale o MariaDB no Arch Linux

Importante :Antes de começarmos – não aceite essas sugestões cegamente. Cada configuração do MySQL é única e requer reflexão adicional, antes de fazer qualquer alteração.

Coisas que você precisa saber:
  1. O arquivo de configuração MySQL/MariaDB está localizado em /etc/my.cnf . Toda vez que você modificar este arquivo, você precisará reiniciar o serviço MySQL para que as novas alterações tenham efeito.
  2. Para escrever este artigo MySQL versão 5.6 foi usado como modelo.

1. Ativar arquivo por tabela InnoDB


Primeiro é importante explicar que InnoDB é um mecanismo de armazenamento. MySQL e MariaDB usam o InnoDB como mecanismo de armazenamento padrão. No passado, o MySQL costumava manter tabelas e índices de banco de dados em um tablespace do sistema. Essa abordagem foi feita para servidores cujo único objetivo é o processamento de banco de dados e seu disco de armazenamento não é usado para outros fins.

O InnoDB oferece uma abordagem mais flexível e cada informação do banco de dados é mantida em um arquivo .ibd arquivo de dados. Cada .ibd file representa um tablespace próprio. Dessa forma, operações de banco de dados como “TRUNCATE ” pode ser concluído mais rapidamente e você também pode recuperar o espaço não utilizado ao descartar ou truncar uma tabela de banco de dados.

Outro benefício dessa configuração é o fato de que você pode manter algumas das tabelas do banco de dados em um dispositivo de armazenamento separado. Isso pode melhorar muito a E/S carregar em seus discos.

O innodb_file_per_table está habilitado por padrão no MySQL 5.6 e acima. Você pode ver isso em /etc/my.cnf Arquivo. A diretiva fica assim:
innodb_file_per_table=1

2. Armazenar dados do banco de dados MySQL em partição separada


Observação :Esta configuração só funciona com MySQL, mas não com MariaDB.

Às vezes, a leitura/gravação do SO pode diminuir o desempenho do seu servidor MySQL, especialmente se estiver localizado no mesmo disco rígido. Em vez disso, eu recomendaria usar um disco rígido separado (de preferência SSD) para o serviço MySQL.

Para concluir, você precisará conectar a nova unidade ao seu computador/servidor. Para os fins deste artigo, assumirei que a unidade estará em /dev/sdb .

O próximo passo é preparar a nova unidade:
# fdisk /dev/sdb

Agora pressione “n ” para criar uma nova partição. Em seguida, pressione “p ” para tornar a nova partição primária. Depois disso, defina o número da partição de 1-4 . Depois disso, você selecionará o tamanho da partição. Pressione enter aqui. Na próxima etapa, você precisará configurar o tamanho da partição.

Se você deseja usar o disco inteiro, pressione enter mais uma vez. Caso contrário, você pode definir manualmente o tamanho da nova partição. Quando estiver pronto, pressione “w ” para escrever as alterações. Agora precisaremos criar um sistema de arquivos para nossa nova partição. Isso pode ser feito facilmente com:
# mkfs.ext4 /dev/sdb1

Agora vamos montar nossa nova partição em uma pasta. Eu nomeei minha pasta como “ssd ” e criado no diretório raiz:
# mkdir /ssd/

Estamos prontos para montar a nova partição que acabamos de criar na nova pasta:
# mount /dev/sdb1  /ssd/

Você pode executar a montagem na inicialização adicionando a seguinte linha em /etc/fstab Arquivo.
/dev/sdb1 /ssd ext3 defaults 0 0

Agora você está pronto para mover o MySQL para o novo disco. Primeiro pare o serviço MySQL com:
# service mysqld stop

Eu recomendaria que você pare o Apache/nginx também para evitar qualquer tentativa de escrever nos bancos de dados:
# service httpd stop
# service nginx stop

Agora copie todo o diretório MySQL na nova unidade:
# cp /var/lib/mysql /ssd/ -Rp

Isso pode demorar um pouco dependendo do site de seus bancos de dados MySQL. Quando esse processo estiver concluído, renomeie o diretório MySQL:
# mv /var/lib/mysql /var/lib/mysql-backup

Em seguida, criaremos um link simbólico.
# ln -s /ssd/mysql /var/lib/mysql

Agora você está pronto para iniciar seu MySQL e serviço web:
# service mysqld start
# service httpd start
# service nginx start

Neste ponto, seus bancos de dados MySQL serão acessados ​​a partir da nova unidade.
Páginas:1 2 3 4