# MySQL

O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language) como interface. É atualmente um dos sistemas de gerenciamento de bancos de dados mais populares da Oracle Corporation, com mais de 10 milhões de instalações pelo mundo.
Entre os usuários do banco de dados MySQL estão: NASA, Friendster, Banco Bradesco, Dataprev, HP, Nokia, Sony, Lufthansa, U.S. Army, U.S. Federal Reserve Bank, Associated Press, Alcatel, Slashdot, Cisco Systems, Google, entre outros.

## História

O MySQL foi criado na Suécia por suecos e um finlandês: David Axmark, Allan Larsson e Michael "Monty" Widenius, que têm trabalhado juntos desde a década de 1980. Hoje seu desenvolvimento e manutenção empregam aproximadamente 400 profissionais no mundo inteiro, e mais de mil contribuem testando o software, integrando-o a outros produtos, e escrevendo a respeito dele.
No dia 16 de Janeiro de 2008, a MySQL AB, desenvolvedora do MySQL foi adquirida pela Sun Microsystems, por US$ 1 bilhão, um preço jamais visto no setor de licenças livres. No dia 20 de Abril de 2009, foi anunciado que a Oracle compraria a Sun Microsystems e todos os seus produtos, incluindo o MySQL. Após investigações da Comissão Europeia sobre a aquisição para evitar formação de monopólios no mercado a compra foi autorizada e hoje a Sun faz parte da Oracle.
O sucesso do MySQL deve-se em grande medida à fácil integração com o PHP incluído, quase que obrigatoriamente, nos pacotes de hospedagem de sites da Internet oferecidos atualmente. Empresas como Yahoo! Finance, MP3.com, Motorola, NASA, Silicon Graphics e Texas Instruments usam o MySQL em aplicações de missão crítica. A Wikipédia é um exemplo de utilização do MySQL em sites de grande audiência.
O MySQL hoje suporta Unicode, Full Text Indexes, replicação, Hot Backup, GIS, OLAP e muitos outros recursos de banco de dados.

## Características

* Portabilidade (suporta praticamente qualquer plataforma atual);
* Compatibilidade (existem drivers ODBC, JDBC e .NET e módulos de interface para diversas linguagens de programação, como Delphi, Java, C/C++, C#, Visual Basic, Python, Perl, PHP, ASP e Ruby)
* Excelente desempenho e estabilidade;
* Pouco exigente quanto a recursos de novos hardware;
* Facilidade no manuseio;
* É um Software Livre com base na GPL (entretanto, se o programa que acessar o Mysql não for GPL, uma licença comercial deverá ser adquirida);
* Contempla a utilização de vários Storage Engines como MyISAM, InnoDB, Falcon, BDB, Archive, Federated, CSV, Solid…
* Suporta controle transacional;
* Suporta Triggers;
* Suporta Cursors (Non-Scrollable e Non-Updatable);
* Suporta Stored Procedures e Functions;
* Replicação facilmente configurável;
* Interfaces gráficas (MySQL Toolkit) de fácil utilização cedidos pela MySQL Inc.

### Milestones

Os milestones do desenvolvimento do MySQL incluem:
| Versão | Data | Descrição | Novidades |
| 0.0.0.1 WellBeta | 25 de dezembro de 1994 | Arranque do projecto com Michael Widenius e David Axmark iniciando em 1994 | |
| — | 25 de Maio de 1995 | Lançada internamente a primeira versão do MySQL | |
| — | 8 de Janeiro de 1998 | Lançamento da primeira versão para Windows 95 e NT | |
| 3.13 Beta | Junho de 2000 | Com versão de produção em Janeiro de 2001 | |
| 4.0 Beta | Agosto de 2002 | Com versão de produção em Março de 2003 | UNION |
| 4.1 Beta | Agosto de 2003 | Jyoti adopta MySQL |
| 4.1 Beta | Junho de 2004 | Com versão de produção em Outubro de 2004 | R-trees e B-trees, subqueries, prepared statements |
| 5.0 Beta | Março de 2005 | Com versão de produção em Outubro de 2005 | Cursores, procedimentos armazenados, triggers, vistas, transacções XA |
| 26 de Fevereiro de 2008 | 26 de Fevereiro de 2008 | Aquisição da MySQL AB pela Sun Microsystems | Aquisição da MySQL AB pela Sun Microsystems |
| 5.1 | 27 de Novembro de 2008 | | Eventos, particionamento, API para plugins, replicação de linha (em oposição à replicação por statement), logging para tabelas. |
| 5.4 Preview | 21 de Abril de 2009 | Versão GA (produção) prevista para o final do ano. | Funções SIGNAL/RESIGNAL para os procedimentos armazenados, melhorias na escalabilidade, inclusão de probes DTrace para melhorar o diagnóstico e análise de desempenho em sistemas Solaris; |
| 5.4 LANÇAMENTO | 15 de Dezembro de 2011 | Versão GA (produção) | Uso da Storage Engine InnoDBE por padrão, replicação semi-síncrona, melhor desempenho e maior estalabilidade em máquinas com múltiplos núcleos (multicore). |
| 5.6 | 5 de Fevereiro de 2013 | Versão GA (produção) | |
| 5.7 | 21 de Outubro de 2015 | Versão GA (produção) | |
| 8.0 | 19 de Abril de 2018 | Versão GA (produção) | |