Definition

MySQL 

MySQL é um sistema de gerenciamento de banco de dados relacional de código aberto (RDBMS) apoiado pela Oracle e baseado em linguagem de consulta estruturada (SQL). O MySQL funciona em praticamente todas as plataformas, incluindo Linux, UNIX e Windows. Embora possa ser usado em uma ampla variedade de aplicações, o MySQL é mais frequentemente associado a aplicações da web e publicação online. 

O MySQL é um componente importante de uma pilha corporativa de código aberto chamada LAMP - uma plataforma de desenvolvimento web que usa Linux como sistema operacional, Apache como servidor web, MySQL como sistema de gerenciamento de banco de dados relacional e PHP como linguagem de script orientada a objetos (às vezes Perl ou Python são usadas em vez de PHP).  

Originalmente concebido pela empresa sueca MySQL AB, o MySQL foi adquirido pela Sun Microsystems em 2008 e depois pela Oracle, quando esta comprou a Sun em 2010. Os desenvolvedores podem usar o MySQL sob a GNU General Public License (GPL, uma licença pública), mas as empresas devem obter uma licença comercial da Oracle. 

Atualmente, o MySQL é o RDBMS por trás de muitos dos principais sites do mundo e de inúmeras aplicações corporativas e de consumo baseados na web, como Facebook, Twitter e YouTube.  

Como funciona o MySQL 

O MySQL é baseado em um modelo cliente-servidor. O núcleo do MySQL é o servidor MySQL, que lida com todas as instruções (ou comandos) do banco de dados. O servidor MySQL está disponível como um programa independente para uso em um ambiente de rede cliente-servidor e como uma biblioteca que pode ser incorporada (ou vinculada) em aplicações independentes.  

O MySQL funciona em conjunto com vários utilitários que oferecem suporte à administração de bancos de dados MySQL. Os comandos são enviados ao MySQLServer por meio do cliente MySQL, que é instalado em um computador.  

O MySQL foi originalmente desenvolvido para lidar rapidamente com grandes bancos de dados. Embora seja normalmente instalado em uma única máquina, ele é capaz de enviar o banco de dados para vários locais, uma vez que os usuários podem acessá-lo através de diferentes interfaces do cliente MySQL. Essas interfaces enviam instruções SQL para o servidor e, em seguida, exibem os resultados.  

Recursos principais do MySQL 

O MySQL permite que você armazene e acesse dados por meio de vários mecanismos de armazenamento, incluindo InnoDB, CSV e NDB. Ele também é capaz de replicar dados e dividir tabelas para melhorar o desempenho e a durabilidade. Os usuários do MySQL não precisam aprender novos comandos; eles podem acessar seus dados usando comandos SQL padrão.  

O MySQL é escrito em C e C ++ e está acessível e disponível em mais de 20 plataformas, incluindo Mac, Windows, Linux e Unix. O RDBMS oferece suporte a grandes bancos de dados com milhões de registros e a muitos tipos de dados, como inteiros assinados e não assinados com 1, 2, 3, 4 e 8 bytes; FLOAT; DOUBLE; CHAR; VARCHAR; BINARY; VARBINARY; TEXT; BLOB; DATE; TIME; DATETIME; TIMESTAMP; YEAR; SET; ENUM e tipos espaciais OpenGIS. Tipos de cadeia de comprimento fixo e variável também são suportados.  

Por segurança, o MySQL usa uma senha criptografada e sistema de privilégios de acesso que permitem a verificação baseada no host. Os clientes MySQL podem se conectar ao servidor MySQL usando vários protocolos, incluindo soquetes TCP/ IP em qualquer plataforma. O MySQL também oferece suporte a vários programas clientes e utilitários, programas de linha de comando e ferramentas de gerenciamento, como o MySQL Workbench. 

Entre as ramificações do MySQL, também conhecidas como garfos (forks), estão as seguintes:  

  • Drizzle, um sistema de gerenciamento de banco de dados de código aberto leve em desenvolvimento baseado no MySQL 6.0; 
  • MariaDB, um substituto popular desenvolvido pela comunidade que utiliza as APIs e os comandos do MySQL;  
  • Percona Server com XtraDB, uma versão aprimorada do MySQL conhecida por sua escalabilidade horizontal.  

MySQL vs. SQL 

Antes de 2016, a principal diferença entre MySQL e SQL era que o primeiro podia ser usado em várias plataformas, enquanto o segundo só podia ser usado no Windows. Desde então, a Microsoft estendeu o SQL para ser compatível com o Linux, uma mudança que entrou em vigor em 2017. Quando o MySQL é instalado sobre o Linux, seu sistema de gerenciamento de pacotes requer configuração personalizada para ajustar os parâmetros de segurança e otimização.  

O MySQL também permite que os usuários escolham o mecanismo de armazenamento mais eficiente para qualquer tabela, pois o programa é capaz de usar vários mecanismos de armazenamento para tabelas individuais. Um dos motores do MySQL é o InnoDB, projetado para alta disponibilidade. Portanto, não é tão rápido quanto outros motores. O SQL usa seu próprio sistema de armazenamento, mas mantém várias proteções contra perda de dados. Ambos os sistemas podem funcionar em clusters para alta disponibilidade.  

O SQL Server oferece uma ampla variedade de análises de dados e ferramentas de relatórios. O SQL Server Reporting Services é o mais popular e está disponível para download gratuito. Ferramentas de análise semelhantes para MySQL estão disponíveis em empresas de software terceirizadas, como Crystal Reports XI e Actuate BIRT.  

Compatibilidade com outros serviços 

O MySQL foi projetado para ser compatível com outros sistemas. Ele oferece suporte à implantação em ambientes virtualizados, como Amazon RDS para MySQL, Amazon RDS para MariaDB e Amazon Aurora para MySQL. Os usuários podem transferir seus dados para um banco de dados SQL Server usando ferramentas de migração de banco de dados, como AWS Schema Conversion Tool e AWS Database Migration Service.  

A semântica dos objetos de banco de dados entre o SQL Server e o MySQL é semelhante, mas não idêntica. Existem diferenças arquitetônicas que devem ser consideradas ao migrar do SQL Server para o MySQL. No MySQL, não há diferença entre um banco de dados e um esquema, enquanto o SQL Server trata os dois como entidades separadas. 

Este conteúdo foi atualizado pela última vez em Julho 2021

Saiba mais sobre Bancos de dados