Você está na página 1de 22

MySQL

O MySQL um (SGBD) sistema de gesto de bases de dados relacionais o mais conhecido e mais

O GUIA PRTICO DO
utilizado dos SGBDs open source, com mais de 5 milhes de instalaes activas (AOL, DaimlerChrysler,
Google, Hewlett-Packard, Lucent, Lufthansa, NASA, Nortel, NYSE, Sabre Holdings, Siemens, Suzuki, Texas
Instruments, Time Inc., UPS, etc.).

Este livro, organizado em cinco captulos principais, com diversos anexos no final, prope ao leitor um
projecto com mltiplos exerccios ao longo das suas cerca de 400 pginas eficazmente ilustradas.

O projecto prtico apresentado no livro comea por servir de base discusso introdutria sobre bases
de dados relacionais e sobre as caractersticas do MySQL, seguindo-se ento o desenho conceptual,
lgico e fsico da base de dados relacional que ir apoiar os exerccios de programao.

As verses 4.0 e 4.1 do MySQL abordadas so tratadas quer em ambientes Windows quer em ambientes
Linux/Unix, da instalao configurao, implementao e administrao.

Resultado da sua longa experincia profissional, os autores mostram-nos como utilizar o MySQL em
conjunto com algumas das principais linguagens/tecnologias de programao para o desenvolvimento
D0
de websites dinmicos com recurso a bases de dados. So assim apresentados diversos exemplos com
Java, Perl, PHP, C/C++, .NET e ODBC.

Para facilitar a operao com as estruturas e os dados armazenados nas bases de dados MySQL,
demonstra-se tambm como utilizar as ferramentas externas MySQL Administrator, MySQL QueryBrowser
e phpMyAdmin.

Assuntos mais avanados como indexao, optimizao e performance, migrao e replicao de dados,
cpias de segurana, segurana e transaces, entre outros, so tambm discutidos. O MySQL 4 mais conhecido e
mais utilizado dos sistemas de
gesto de bases de dados rela-
cionais open source , neste
Pedro Manuel da Conceio das Neves, nascido em 1968, tem formao livro, apresentado em ambientes
Windows e Linux/Unix, da
especializada em Comunicaes Avanadas e certificado pela SAP. instalao configurao, im-
Desde o ano 2000, como consultor snior na CaseEdinfor, desempenha plementao e administrao,
funes de consultoria em ABAP, SAP Portals, gesto de contedos e gesto sempre suportado por exemplos
de conhecimento. prticos.
Assuntos mais avanados como
Tem uma vasta experincia como formador em ambientes Internet, CRM indexao, optimizao e perfor-
e ERP, incluindo na produo dos respectivos manuais. mance, migrao e replicao
autor do livro O Guia Prtico da HTML, tambm publicado pelo Centro de dados, backups, segurana e
Atlntico. transaces, entre outros, so
tambm tratados.
O livro tambm exemplifica a
Rui Pedro Ferreira Ruas, nascido em 1970, licenciado em Informtica utilizao das principais lingua-
pela Faculdade de Cincias da Universidade Clssica de Lisboa e possui gens/tecnologias de programa-
diversas certificaes atribudas pelas SAP, BrainBench e iXOS. o (como Java, Perl, PHP,
C/C++, .NET e ODBC) para o
Presentemente chefe de projecto na Indra, aps ter desempenhado desenvolvimento de websites di-
funes em instituies como a SoftfFinana, Edinfor, Parque EXPO98 e nmicos com recurso a bases de
CASE.Edinfor. dados.

Coleco Tecnologias Pedro Neves e Rui Ruas


<autores> Pedro M C Neves
Rui P F Ruas

o guia
prtico.do.MySQL

Portugal, 2005
Reservados todos os direitos por Centro Atlntico, Lda.
Qualquer reproduo, incluindo fotocpia, s pode ser feita com autorizao
expressa dos editores da obra.

O GUIA PRTICO DO MySQL


Coleco: Tecnologias
Autores: Pedro M. C. Neves e Rui P. F. Ruas

Direco grfica: Centro Atlntico


Reviso final: Centro Atlntico
Capa: Paulo Buchinho

Centro Atlntico, Lda., 2005


Av. Dr. Carlos Bacelar, 968 - Escr. 1 - A
4764-901 V. N. Famalico

Rua da Misericrdia, 76 - 1200-273 Lisboa


Portugal
Tel. 808 20 22 21

geral@centroatlantico.pt
www.centroatlantico.pt

Design e Paginao: Centro Atlntico


Impresso e acabamento: Inova
1 edio: Fevereiro de 2005

ISBN: 972-615-006-0
Depsito legal: 222.814/05

MySQL uma marca registadas pela MySQL AB.


Microsoft, WINDOWS e Internet Explorer so marcas registadas pela Microsoft Corporation.
HTML, CSS, XML, DOM so marcas ou marcas registadas pela W3C - World Wide Web
Consortium, Massachusetts Institute of Technology.
JAVASCRIPT uma marca registada pela Sun Microsystems, Inc., utilizada sob licenciamento
para tecnologia inventada e implementada pela Netscape.
Marcas registadas: todos os termos mencionados neste livro conhecidos como sendo marcas
registadas de produtos e servios, foram apropriadamente capitalizados. A utilizao de um termo
neste livro no deve ser encarada como afectando a validade de alguma marca registada de
produto ou servio.
O Editor e os Autores no se responsabilizam por possveis danos morais ou fsicos causados
pelas instrues contidas no livro nem por endereos Internet que no correspondam s Home-
Pages pretendidas.
ndice

Pgina

Sobre este Livro 9


Nota introdutria 11
Convenes tipogrficas 12
Organizao do livro 13
Audincia 14
Pressupostos 15
Base de Dados vs SGDB 16
Projecto GIL (Gesto Integrada de Livros) 17

I. Introduo ao MySQL 19
O que o MySQL? 21
Histria 22
Funcionalidades 23
Verses 24
Licenciamento 25
Evoluo do MySQL 26
Instalao em Windows 27
Instalao em Linux 40
Procedimentos ps-instalao 50
Programas para MySQL 55
Programa mysql 58
Tipos de dados 74
Motores de base de dados 79
ndice
II. Desenho e implementao de uma
81
base de dados em MySQL
Introduo 83
Desenho conceptual 84
Desenho lgico 88
Desenho fsico 93
Implementar uma base de dados em MySQL 94
Projecto GIL desenho da base de dados 124

III. Preparar e usar uma base de dados


133
em MySQL
Introduo 135
Arquitectura e integrao aplicacional 136
Segurana com o MySQL 141
Transaces com o MySQL 158
Programao com o MySQL 169
Projecto GIL implementao em PHP 255

IV. Utilizao avanada do MySQL 283


Introduo 285
Configurao do servidor MySQL 285
Anlise dos ficheiros de log 288
Optimizao 291
Salvaguarda (backups) e Recuperao 301
Replicao 307
Migrao de dados 311
Mecanismos de proteco 313
Mecanismos de criptografia 320
ndice
V. Consideraes finais 323
Introduo 325
Ferramentas externas 325
Suporte e Documentao 368
MySQL 4.1 369

VI. Anexos 377


Programas para MySQL 379
Programa mysql 380
Tipos de dados em MySQL 383
Instrues SQL 385
Funes PHP para trabalhar com MySQL 398
Glossrio 400
Sobre este livro

NDICE

Nota introdutria ...................................................................................................11

Convenes tipogrficas ...................................................................................12

Organizao do livro............................................................................................13

Audincia....................................................................................................................14

Pressupostos ............................................................................................................15

Base de Dados vs SGDB ...................................................................................16

Projecto GIL apresentao ..........................................................................17


coleco tecnologias CENTRO ATLNTICO

10
o guia prtico do MySQL sobre este livro

Nota introdutria

Na realidade empresarial actual, em que cada vez mais os Sistemas de


Informao so uma necessidade inquestionvel e em que os custos
com o licenciamento do software muitas vezes inviabilizam a moderniza-
o das organizaes, o software apresentado em open source, sem
custos de licenciamento e/ou com custos muito reduzidos, poder ser
um contributo importante em diversos cenrios.

Atravs da utilizao de ferramentas de grande qualidade testadas em


milhes de projectos reais, quer de pequena quer de grande dimenso,
como MySQL, Linux e Java podemos criar solues que podero ser
executadas em diferentes plataformas com um custo de propriedade
(TCO) reduzido.

O objectivo fundamental deste livro fazer com que o leitor obtenha


rapidamente o retorno do tempo investido na aprendizagem do Sistema
de Gesto de Bases de Dados (SGBD) MySQL. Isto , ao estudar e exe-
cutar os exerccios descritos neste livro o leitor ficar a conhecer as ca-
ractersticas, capacidades e domnio de utilizao do MySQL, bem como
do seu potencial futuro e desta forma melhor poder avaliar o enquadra-
mento no desenho dos seus Sistemas de Informao (SI).

Neste livro foi adoptado um formato tipicamente operacional, de forma a


permitir apresentar os conceitos tericos associados a uma viso prtica
e, desta forma, possibilitar a sua mais rpida compreenso.

11
coleco tecnologias CENTRO ATLNTICO
Convenes tipogrficas

As convenes tipogrficas utilizadas neste livro so as seguintes:

Tipo de Estilo Significado


As expresses apresentadas em itlico representam:
Expresses em lngua estrangeira, para as
quais no existem tradues comummente
aceites.
Itlico
Instrues de cdigo externas s reas de
cdigo.
Referncias a ficheiros, directorias (pastas)
ou aplicaes.

cone Significado

<> rea de cdigo ou instruo para exemplo de funcionalidade.

rea de explicao de cdigo para exemplo.

rea de apresentao do resultado do exemplo.

12
o guia prtico do MySQL sobre este livro

Organizao do livro

Introduo ao MySQL Este captulo foca as caractersticas base,


quer ao nvel conceptual, quer ao nvel funcional do motor (SGBD Sis-
tema Gestor de Bases de Dados) de bases de dados MySQL, disponibili-
zando a informao necessria para a construo da infra-estrutura de
suporte ao servidor de bases de dados MySQL e sua utilizao.

Desenho e implementao de uma base de dados em MySQL


Onde se descreve o desenho conceptual, lgico e fsico de bases de da-
dos relacionais que iro ser suportadas pelo SGBD MySQL. Desenho da
base de dados relativa ao projecto de exemplo do livro.

Preparar e usar uma base de dados em MySQL Mostra-se neste


captulo a componente de integrao aplicacional do MySQL com as dife-
rentes linguagens/tecnologias existentes. Destaque aos assuntos de
Segurana, Transaces e Programao. Implementao, em PHP, dos
programas relativos ao projecto de exemplo do livro.

Utilizao avanada do MySQL Este captulo aborda a potenciao


da utilizao do MySQL, nomeadamente nas questes sobre: performan-
ce, salvaguarda (cpia de segurana), migrao e replicao de dados,
entre outras.

Consideraes finais Este captulo perspectiva a evoluo do


MySQL, tanto ao nvel da extenso dos conhecimentos adquiridos, como
ao nvel da prpria ferramenta. Apresentao das ferramentas externas
MySQL Administrator, MySQL QueryBrowser e phpMyAdmin.

Anexos Consiste na compilao organizada de um conjunto de guias


de suporte ao desenvolvimento de solues baseadas em MySQL, nome-
adamente em quadros resumo com: funes, instrues, propriedades,
mtodos e um glossrio.

13
coleco tecnologias CENTRO ATLNTICO
Audincia

Este livro destina-se a utilizadores, tcnicos e responsveis por Sistemas


de Informao, com ou sem conhecimentos em Bases de Dados Relacio-
nais, que desejem adquirir conhecimentos e/ou avaliar o esforo/custo
de solues suportadas pelo SGBD MySQL.

Para os leitores com conhecimentos prvios, mostrar o raciocnio e a


lgica da construo de solues simples em MySQL, poder ser uma
mais valia na consolidao dos seus prprios conhecimentos, bem como
na reciclagem e aprendizagem de novos conceitos.

14
o guia prtico do MySQL sobre este livro

Pressupostos

Este livro baseou-se numa preocupao constante: sempre que possvel,


garantir a independncia de sistema operativo e de linguagem/tecnolo-
gia de programao utilizada (o que nem sempre possvel, nomeada-
mente se se desejar utilizar a tecnologia .NET em sistemas operativos
baseados em UNIX).

A preocupao em utilizar processos idnticos na apresentao dos te-


mas para os diferentes sistemas operativos originou a opo de utilizar
instrues em linha de comando em detrimento de ferramentas grficas
mais intuitivas.

Pressupe-se que existam conhecimentos bsicos ao nvel das lingua-


gens/tecnologias de programao utilizadas (HTML, CSS, SQL, JAVA,
Perl, Python, PHP, C e .NET) para uma total compreenso dos exerccios
relativos manipulao dos dados armazenados com o MySQL.

15
coleco tecnologias CENTRO ATLNTICO
Base de Dados vs SGDB
Por vezes confundimos os conceitos Base de Dados e Sistema de Gesto
de Base de Dados (SGBD).

De forma a clarificar esta eventual confuso procedemos definio dos


dois conceitos:

Uma Base de Dados consiste num conjunto integrado de dados,


utilizvel para mltiplos objectivos e acessvel por mltiplos tipos
de utilizadores de uma forma concorrente, reflectindo os propsi-
tos fundamentais de:
o Integrao;
o Partilha;
o Concorrncia;
o Mltiplos objectivos;
o Mltiplos tipos de utilizadores.

Um SGBD consiste no software que gere todo o acesso a uma ou


mais bases de dados, permitindo a definio, acesso concorrente,
manipulao e controlo dos dados, assegurando a integridade, segu-
rana e recuperao das bases de dados.

16
o guia prtico do MySQL sobre este livro

Projecto GIL apresentao

O projecto Gesto Integrada de Livros (GIL) surge com o objectivo de


ligar o MySQL sua aplicabilidade prtica, captulo a captulo, para que
no final possamos obter uma soluo que possa servir uma necessidade
real.

Consideremos um sistema automtico de gesto integrada de livros que


inclua os seguintes processos:
1. Gesto da informao de editoras e das suas coleces;
2. Gesto de autores;
3. Gesto de livros;
4. Gesto da catalogao dos livros em coleces;
5. Pesquisa de livros por diferentes critrios.

A cada livro que adicionamos ao sistema devemos registar a seguinte in-


formao obrigatria:
ISBN, ttulo, preo e data da edio. Opcionalmente podemos
registar a seguinte informao: imagem da capa, n de pginas e
resumo da introduo. Por ltimo, dever ficar associado a cada
livro uma editora, uma coleco (caso pertena a uma) e os au-
tores que o escreveram.

A ficha de editora conter,


a sua designao social (obrigatria), o telefone, a morada e o
cdigo postal. Uma editora tipicamente organiza os seus livros
em coleces, em que cada coleco descrita no sistema com
uma designao.

Para uma ficha de autor, armazenamos a seguinte informao:


nome (obrigatrio), n contribuinte, fotografia, resumo do cur-
riculum vitae, n telefone de contacto, morada e cdigo postal.

No processo de pesquisa de livros, devemos considerar a possibilidade


de pesquisa pelo ttulo do livro ou pelo nome do autor.

Dada a extenso que implicaria a realizao completa de um projecto


deste tipo, iremos apenas, do ponto de vista aplicacional, abordar o
processo (n 5) relativo pesquisa de livros por diferentes critrios.
No final da realizao do projecto GIL o leitor ficar com noes prticas
sobre gesto de bases de dados em MySQL, bem como da construo de
aplicaes que permitam o seu manuseamento.

17
coleco tecnologias CENTRO ATLNTICO

18
I. Introduo
ao MySQL

NDICE

O que o MySQL? ............................................................................................................... 21

Histria.................................................................................................................................. 22

Funcionalidades.................................................................................................................... 23

Verses................................................................................................................................. 24

Licenciamento....................................................................................................................... 25

Evoluo do MySQL ............................................................................................................. 26

Instalao em Windows........................................................................................................ 27
Obter a verso recomendada do ficheiro binrio ........................................................................... 27
Proceder instalao do MySQL................................................................................................... 31
Arranque do MySQL ....................................................................................................................... 32
Testar o funcionamento do MySQL................................................................................................ 34
Paragem do MySQL ....................................................................................................................... 35
Criar o MySQL como um servio do Windows ............................................................................... 36

Instalao em Linux.............................................................................................................. 40
Obter os pacotes RPM ................................................................................................................... 40
Proceder instalao do MySQL................................................................................................... 43
Instalao mnima padro 43
Inicializar as tabelas dos privilgios 45
Arranque do MySQL ....................................................................................................................... 46
Testar o funcionamento do MySQL................................................................................................ 47
Paragem do MySQL ....................................................................................................................... 48

Procedimentos ps-instalao.............................................................................................. 50
Alterar a senha do utilizador root.................................................................................................... 50
Alterar os privilgios de defeito....................................................................................................... 53
coleco tecnologias CENTRO ATLNTICO

Programas para MySQL ....................................................................................................... 55


Execuo de programas .................................................................................................................56

Programa mysql .................................................................................................................... 58


Obter ajuda sobre as opes existentes.........................................................................................61
Iniciar uma sesso em modo interactivo.........................................................................................62
Principais instrues de utilizao ..................................................................................................63
Comandos 63
Utilizao de uma base de dados 64
Verificao 65
Terminar uma sesso em modo interactivo ....................................................................................73

Tipos de dados...................................................................................................................... 74
Tipo Numrico .................................................................................................................................74
Tipo Texto .......................................................................................................................................76
Tipo Data.........................................................................................................................................77
Tipo ENUM......................................................................................................................................77
Tipo SET .........................................................................................................................................78

Motores de base de dados (ISAM, MyISAM, HEAP, InnoDB, BDB) .................................... 79

20
I. Introduo
ao MySQL

O que o MySQL?

O MySQL um sistema de gesto de bases de dados relacionais,


suporta SQL, open source e um dos SGBDs para utilizao profis-
sional mais utilizado (conta com mais de 5 milhes de instalaes acti-
vas) e mais conhecido a nvel mundial.
O MySQL foi desenvolvido e disponibilizado pela empresa MySQL AB
Limited Company, que actualmente vende um conjunto de servios e
produtos relacionados com a tecnologia MySQL.
Na lista dos principais clientes deste SGBD constam nomes como:
Alcatel, AOL, The Associated Press, Caterpillar, Cox Communications,
DaimlerChrysler, Dow Jones, EarthLink, Enercon, Ericsson, Google,
Hoover's Online, Hewlett-Packard, Lucent, Lufthansa, NASA, Nortel,
NYSE, Omaha Steaks, Sabre Holdings, Siemens, Suzuki, Texas
Instruments, Time Inc., UPS e US Census Bureau.
MySQL
O MySQL um (SGBD) sistema de gesto de bases de dados relacionais o mais conhecido e mais

O GUIA PRTICO DO
utilizado dos SGBDs open source, com mais de 5 milhes de instalaes activas (AOL, DaimlerChrysler,
Google, Hewlett-Packard, Lucent, Lufthansa, NASA, Nortel, NYSE, Sabre Holdings, Siemens, Suzuki, Texas
Instruments, Time Inc., UPS, etc.).

Este livro, organizado em cinco captulos principais, com diversos anexos no final, prope ao leitor um
projecto com mltiplos exerccios ao longo das suas cerca de 400 pginas eficazmente ilustradas.

O projecto prtico apresentado no livro comea por servir de base discusso introdutria sobre bases
de dados relacionais e sobre as caractersticas do MySQL, seguindo-se ento o desenho conceptual,
lgico e fsico da base de dados relacional que ir apoiar os exerccios de programao.

As verses 4.0 e 4.1 do MySQL abordadas so tratadas quer em ambientes Windows quer em ambientes
Linux/Unix, da instalao configurao, implementao e administrao.

Resultado da sua longa experincia profissional, os autores mostram-nos como utilizar o MySQL em
conjunto com algumas das principais linguagens/tecnologias de programao para o desenvolvimento
D0
de websites dinmicos com recurso a bases de dados. So assim apresentados diversos exemplos com
Java, Perl, PHP, C/C++, .NET e ODBC.

Para facilitar a operao com as estruturas e os dados armazenados nas bases de dados MySQL,
demonstra-se tambm como utilizar as ferramentas externas MySQL Administrator, MySQL QueryBrowser
e phpMyAdmin.

Assuntos mais avanados como indexao, optimizao e performance, migrao e replicao de dados,
cpias de segurana, segurana e transaces, entre outros, so tambm discutidos. O MySQL 4 mais conhecido e
mais utilizado dos sistemas de
gesto de bases de dados rela-
cionais open source , neste
Pedro Manuel da Conceio das Neves, nascido em 1968, tem formao livro, apresentado em ambientes
Windows e Linux/Unix, da
especializada em Comunicaes Avanadas e certificado pela SAP. instalao configurao, im-
Desde o ano 2000, como consultor snior na CaseEdinfor, desempenha plementao e administrao,
funes de consultoria em ABAP, SAP Portals, gesto de contedos e gesto sempre suportado por exemplos
de conhecimento. prticos.
Assuntos mais avanados como
Tem uma vasta experincia como formador em ambientes Internet, CRM indexao, optimizao e perfor-
e ERP, incluindo na produo dos respectivos manuais. mance, migrao e replicao
autor do livro O Guia Prtico da HTML, tambm publicado pelo Centro de dados, backups, segurana e
Atlntico. transaces, entre outros, so
tambm tratados.
O livro tambm exemplifica a
Rui Pedro Ferreira Ruas, nascido em 1970, licenciado em Informtica utilizao das principais lingua-
pela Faculdade de Cincias da Universidade Clssica de Lisboa e possui gens/tecnologias de programa-
diversas certificaes atribudas pelas SAP, BrainBench e iXOS. o (como Java, Perl, PHP,
C/C++, .NET e ODBC) para o
Presentemente chefe de projecto na Indra, aps ter desempenhado desenvolvimento de websites di-
funes em instituies como a SoftfFinana, Edinfor, Parque EXPO98 e nmicos com recurso a bases de
CASE.Edinfor. dados.

Coleco Tecnologias Pedro Neves e Rui Ruas

Você também pode gostar