Você está na página 1de 22

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
de websites dinmicos com recurso a bases de dados. So assim apresentados diversos exemplos com
Java, Perl, PHP, C/C++, .NET e ODBC.

MySQL

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 GUIA PRTICO DO

O MySQL um (SGBD) sistema de gesto de bases de dados relacionais o mais conhecido e mais
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.).

D0

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.

Pedro Manuel da Conceio das Neves, nascido em 1968, tem formao


especializada em Comunicaes Avanadas e certificado pela SAP.
Desde o ano 2000, como consultor snior na CaseEdinfor, desempenha
funes de consultoria em ABAP, SAP Portals, gesto de contedos e gesto
de conhecimento.
Tem uma vasta experincia como formador em ambientes Internet, CRM
e ERP, incluindo na produo dos respectivos manuais.
autor do livro O Guia Prtico da HTML, tambm publicado pelo Centro
Atlntico.
Rui Pedro Ferreira Ruas, nascido em 1970, licenciado em Informtica
pela Faculdade de Cincias da Universidade Clssica de Lisboa e possui
diversas certificaes atribudas pelas SAP, BrainBench e iXOS.
Presentemente chefe de projecto na Indra, aps ter desempenhado
funes em instituies como a SoftfFinana, Edinfor, Parque EXPO98 e
CASE.Edinfor.

Coleco Tecnologias

O MySQL 4 mais conhecido e


mais utilizado dos sistemas de
gesto de bases de dados relacionais open source , neste
livro, apresentado em ambientes
Windows e Linux/Unix, da
instalao configurao, implementao e administrao,
sempre suportado por exemplos
prticos.
Assuntos mais avanados como
indexao, optimizao e performance, migrao e replicao
de dados, backups, segurana e
transaces, entre outros, so
tambm tratados.
O livro tambm exemplifica a
utilizao das principais linguagens/tecnologias de programao (como Java, Perl, PHP,
C/C++, .NET e ODBC) para o
desenvolvimento de websites dinmicos com recurso a bases de
dados.

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 HomePages pretendidas.

ndice
Pgina
Sobre este Livro

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
base de dados em MySQL

81

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

III. Preparar e usar uma base de dados


em MySQL

124

133

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

10

CENTRO ATLNTICO

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 modernizao 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 executar os exerccios descritos neste livro o leitor ficar a conhecer as caractersticas, capacidades e domnio de utilizao do MySQL, bem como
do seu potencial futuro e desta forma melhor poder avaliar o enquadramento 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

Itlico

cone

<>

12

Significado
As expresses apresentadas em itlico representam:

Expresses em lngua estrangeira, para as


quais no existem tradues comummente
aceites.

Instrues de cdigo externas s reas de


cdigo.

Referncias a ficheiros, directorias (pastas)


ou aplicaes.

Significado
rea de cdigo ou instruo para exemplo de funcionalidade.

rea de explicao de cdigo para exemplo.

rea de apresentao do resultado do exemplo.

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 Sistema Gestor de Bases de Dados) de bases de dados MySQL, disponibilizando 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 dados 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 diferentes 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: performance, 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, nomeadamente 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 Relacionais, 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/tecnologia de programao utilizada (o que nem sempre possvel, nomeadamente se se desejar utilizar a tecnologia .NET em sistemas operativos
baseados em UNIX).
A preocupao em utilizar processos idnticos na apresentao dos temas 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 linguagens/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:

16

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 propsitos 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, segurana e recuperao das bases de dados.

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 informao 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 autores 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 curriculum 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

18

CENTRO ATLNTICO

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 profissional mais utilizado (conta com mais de 5 milhes de instalaes activas) 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.

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
de websites dinmicos com recurso a bases de dados. So assim apresentados diversos exemplos com
Java, Perl, PHP, C/C++, .NET e ODBC.

MySQL

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 GUIA PRTICO DO

O MySQL um (SGBD) sistema de gesto de bases de dados relacionais o mais conhecido e mais
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.).

D0

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.

Pedro Manuel da Conceio das Neves, nascido em 1968, tem formao


especializada em Comunicaes Avanadas e certificado pela SAP.
Desde o ano 2000, como consultor snior na CaseEdinfor, desempenha
funes de consultoria em ABAP, SAP Portals, gesto de contedos e gesto
de conhecimento.
Tem uma vasta experincia como formador em ambientes Internet, CRM
e ERP, incluindo na produo dos respectivos manuais.
autor do livro O Guia Prtico da HTML, tambm publicado pelo Centro
Atlntico.
Rui Pedro Ferreira Ruas, nascido em 1970, licenciado em Informtica
pela Faculdade de Cincias da Universidade Clssica de Lisboa e possui
diversas certificaes atribudas pelas SAP, BrainBench e iXOS.
Presentemente chefe de projecto na Indra, aps ter desempenhado
funes em instituies como a SoftfFinana, Edinfor, Parque EXPO98 e
CASE.Edinfor.

Coleco Tecnologias

O MySQL 4 mais conhecido e


mais utilizado dos sistemas de
gesto de bases de dados relacionais open source , neste
livro, apresentado em ambientes
Windows e Linux/Unix, da
instalao configurao, implementao e administrao,
sempre suportado por exemplos
prticos.
Assuntos mais avanados como
indexao, optimizao e performance, migrao e replicao
de dados, backups, segurana e
transaces, entre outros, so
tambm tratados.
O livro tambm exemplifica a
utilizao das principais linguagens/tecnologias de programao (como Java, Perl, PHP,
C/C++, .NET e ODBC) para o
desenvolvimento de websites dinmicos com recurso a bases de
dados.

Pedro Neves e Rui Ruas

Você também pode gostar