Índice Preface
.............................................................................................................xvii
1. Informações Gerais
............................................................................................
1
1.1. Sobre Este Manual
..................................................................................
2 1.1.1. Convenções Usadas Neste Manual
................................................... 2
1.2. Visão Geral do Sistema de Gerenciamento de Banco de Dados
MySQL ............. 4 1.2.1. História do MySQL
.......................................................................
5 1.2.2. As Principais Características do MySQL
........................................... 5 1.2.3. Estabilidade
do MySQL
................................................................. 8
1.2.4. Qual o Tamanho Que as Tabelas do MySQL Podem Ter?
..................... 9 1.2.5. Compatibilidade Com o Ano 2000
(Y2K) .........................................10
1.3. Visão Geral da MySQL AB
......................................................................11
1.3.1. O Modelo de Negócio e Serviços da MySQL AB
...............................12 1.3.2. Informações para
Contato
..............................................................14
1.4. Suporte e Licenciamento do MySQL
..........................................................15
1.4.1. Suporte Oferecido pela MySQL AB
................................................15 1.4.2.
Copyrights e Licenças Usadas pelo MySQL
......................................16 1.4.3. Licenças do
MySQL
.....................................................................16
1.4.4. Logomarcas e Marcas Registradas da MySQL AB
.............................18
1.5. Mapa de Desenvolvimento do MySQL
.......................................................19 1.5.1.
MySQL 4.0 in a Nutshell
...............................................................20
1.5.2. MySQL 4.1 in a Nutshell
...............................................................22
1.5.3. MySQL 5.0, A Próxima Distribuição de Desenvolvimento
...................23
1.6. MySQL e o Futuro (o TODO)
...................................................................24
1.6.1. Novos Recursos Planejados Para a Versão 4.1
...................................24 1.6.2. Novos Recursos
Planejados Para a Versão 5.0
...................................24 1.6.3. Novos Recursos
Planejados Para a Versão 5.1
...................................25 1.6.4. Novos Recursos
Planejados Para a Versão em um Futuro Próximo ........26
1.6.5. Novos Recursos Planejados Para a Versão em um Futuro a Médio
Prazo 28 1.6.6. Novos Recursos que Não Planejamos Fazer
......................................30
1.7. Fontes de Informações do MySQL
.............................................................30
1.7.1. Listas de Discussão MySQL
..........................................................30 1.7.2.
Suporte a Comunidade MySQL Atrvés do IRC (Internet Relay Chat)
.....37
1.8. Qual compatibilidade aos padrões o MySQL oferece ?
..................................38 1.8.1. Qual Padrão o MySQL
Segue?
.......................................................38 1.8.2.
Executando o MySQL no modo ANSI
.............................................38 1.8.3. Extensões do
MySQL para o Padrão SQL-92
....................................39 1.8.4. Diferenças do MySQL
em Comparação com o SQL-92 .......................42 1.8.5.
Como o MySQL Lida com Restrições
..............................................47 1.8.6. Erros
Conhecidos e Deficiências de Projetos no MySQL
.....................49
2. Instalação do MySQL
........................................................................................54
2.1. Instalação rápida padrão do MySQL
..........................................................54
2.2. Detalhes Gerais de Instalação
...................................................................68
2.2.1. Como obter o MySQL
..................................................................68
2.2.2. Verificando a Integridade do Pacote Usando MD5
Checksums ou GnuPG
..........................................................................................................68
2.2.3. Sistemas Operacionais suportados pelo MySQL
................................70 2.2.4. Qual versão do MySQL deve
ser usada ............................................72
2.2.5. Layouts de Instalação
...................................................................75
2.2.6. Como e quando as atualizações são lançadas?
...................................76 2.2.7. Filosofia das
Distribuições - Nenhum Bug Conhecidos nas Distribuições 76
2.2.8. Binários MySQL compilados pela MySQL AB
.................................78 2.2.9. Instalando uma
Distribuição Binária do MySQL
................................82
2.3. Instalando uma distribuição com fontes do MySQL
......................................85
iv
2.4. Configurações e Testes Pós-instalação
...................................................... 102
2.4.1. Problemas Executando o mysql_install_db
............................ 105 2.4.2. Problemas Inicializando o
Servidor MySQL ................................... 107
2.4.3. Inicializando e parando o MySQL automaticamente.
........................ 109
2.5. Atualizando/Desatualizando o MySQL
..................................................... 110
2.5.1. Atualizando da Versão 4.0 para 4.1
............................................... 111 2.5.2.
Atualizando da Versão 3.23 para 4.0
.............................................. 113 2.5.3.
Atualizando da versão 3.22 para 3.23
............................................. 117 2.5.4.
Atualizando da versão 3.21 para 3.22
............................................. 118 2.5.5.
Atualizando da versão 3.20 para 3.21
............................................. 119 2.5.6.
Atualizando a Tabela de Permissões
.............................................. 119 2.5.7.
Atualizando para outra arquitetura
................................................. 120 2.5.8.
Atualizando o MySQL no Windows
.............................................. 121
2.6. Notas específicas para os Sistemas Operacionais
........................................122 2.6.1. Notas Windows
.........................................................................
122 2.6.2. Notas Linux (Todas as versões)
.................................................... 126 2.6.3.
Notas Solaris
............................................................................
132 2.6.4. Notas BSD
...............................................................................
136 2.6.5. Notas Mac OS X
.......................................................................
140 2.6.6. Notas de Outros Unix
.................................................................140
2.6.7. Notas OS/2
...............................................................................
150 2.6.8. Notas Novell NetWare
................................................................151
2.6.9. Notas BeOS
..............................................................................
151
2.7. Comentários de Instalação do Perl
........................................................... 151
2.7.1. Instalando Perl no Unix
...............................................................151
2.7.2. Instalaando ActiveState Perl no Windows
.......................................152 2.7.3. Problemas
Usando a Interface Perl DBI / DBD
.................................. 153
3. Tutorial de Introdução Do MySQL
.....................................................................
155 3.1. Conectando e Desconectando do Servidor
................................................. 155 3.2. Fazendo
Consultas ................................................................................
156 3.3. Criação e Utilização de um Banco de Dados
.............................................. 159
3.3.1. Criando e Selecionando um Banco de Dados
................................... 160 3.3.2. Criando uma
Tabela
...................................................................160
3.3.3. Carregando dados em uma tabela
.................................................. 162 3.3.4.
Recuperando Informações de uma Tabela
.......................................163
3.4. Obtendo Informações Sobre Bancos de Dados e Tabelas
.............................. 176 3.5.
Utilizando mysql em Modo Batch
..........................................................
177 3.6. Exemplos de Consultas Comuns
..............................................................178
3.6.1. O Valor Máximo para uma Coluna
................................................ 179 3.6.2. O
Registro que Armazena o Valor Máximo para uma Coluna Determina da
........................................................................................................
179 3.6.3. Máximo da Coluna por Grupo
...................................................... 180 3.6.4.
As Linhas Armazenando o Group-wise Máximo de um Certo Campo
..180 3.6.5. Utilizando Variáveis de Usuário
................................................... 181 3.6.6.
Utilizando Chaves Estrangeiras
.................................................... 181 3.6.7.
Pesquisando em Duas Chaves
...................................................... 182 3.6.8.
Calculando Visitas Diárias
...........................................................
183 3.6.9. Usando AUTO_INCREMENT
....................................................... 183
3.7. Consultas de Projetos Gêmeos
................................................................184
3.7.1. Encontrando Todos Gêmeos Não-distribuídos
................................. 185 3.7.2. Mostrando uma Tabela
sobre a Situação dos Pares Gêmeos ...............187
3.8. Utilizando MySQL com Apache
.............................................................187 4.
Administração do Bancos de Dados MySQL
........................................................
189
4.1. Configurando o MySQL
........................................................................
189 4.1.1. Opções de Linha de Comando do mysqld
..................................... 189 4.1.2. Arquivo de Opções
my.cnf
........................................................
197
Manual de Referência do MySQL para a ver- são 5.0.3-alpha.
v
4.2. Executando Múltiplos MySQL Servers na Mesma Máquina
.........................200 4.2.1. Executando Múltiplos Servidores
no Windows ................................ 202 4.2.2.
Executando Múltiplos Servidores no Unix
......................................205 4.2.3. Usando Programas
Clientes em um Ambiente Multi-Servidor ............206
4.3. Detalhes Gerais de Segurança e o Sistema de Privilégio de
Acesso do MySQL 207 4.3.1. Segurança Geral
........................................................................
207 4.3.2. Como Tornar o MySQL Seguro contra Crackers
.............................. 209 4.3.3. Opções de Inicialização
para o mysqld em Relação a Segurança. ......211
4.3.4. Detalhes de Segurança com LOAD DATA LOCAL
........................... 212 4.3.5. O Que o Sistema de
Privilégios Faz
............................................... 212 4.3.6.
Como o Sistema de Privilégios Funciona
........................................212 4.3.7.
Privilégios Fornecidos pelo MySQL
.............................................. 216 4.3.8.
Conectando ao Servidor MySQL
.................................................. 218 4.3.9.
Controle de Acesso, Estágio 1: Verificação da Conexão
.................... 219 4.3.10. Controle de Acesso, Estágio
2: Verificação da Requisição ...............222 4.3.11.
Hashing de Senhas no MySQL 4.1
.............................................. 224 4.3.12. Causas
dos Erros de Accesso Negado
..................................... 229
4.4. Gerenciamento das Contas dos Usuários no MySQL
................................... 232 4.4.1. A Sintaxe de
GRANT e REVOKE
................................................... 232 4.4.2.
Nomes de Usuários e Senhas do MySQL
........................................237 4.4.3. Quando as
Alterações nos Privilégios tem Efeito
.............................. 238 4.4.4. Configurando os
Privilégios Iniciais do MySQL ..............................
238 4.4.5. Adicionando Novos Usuários ao MySQL
.......................................239 4.4.6. Deletando
Usuários do MySQL
.................................................... 242 4.4.7.
Limitando os Recursos dos Usuários
............................................. 242 4.4.8.
Configurando
Senhas ..................................................................243
4.4.9. Mantendo Sua Senha Segura
........................................................ 244
4.4.10. Usando Conexões Seguras
......................................................... 245
4.5. Prevenção de Disastres e Recuperação
...................................................... 251
4.5.1. Backups dos Bancos de Dados
..................................................... 251 4.5.2.
Sintaxe de BACKUP TABLE
........................................................ 252
4.5.3. Sintaxe de RESTORE TABLE
...................................................... 253
4.5.4. Sintaxe de CHECK TABLE
..........................................................
253 4.5.5. Sintaxe do REPAIR TABLE
....................................................... 255 4.5.6.
Utilizando myisamchk para Manutenção de Tabelas e
Recuperação em Caso de Falhas
..................................................................................
256 4.5.7. Configurando um Regime de Manutenção das Tabelas
...................... 266 4.5.8. Obtendo Informações sobre
as Tabelas
..........................................267
4.6. Adiministração do Banco de Dados e Referência de Linguagem
.................... 271 4.6.1. Sintaxe de OPTIMIZE
TABLE ....................................................
271 4.6.2. Sintaxe de ANALYZE TABLE
...................................................... 272
4.6.3. Sintaxe de CHECKSUM TABLE
.................................................... 273
4.6.4. Sintaxe
de FLUSH ......................................................................
273 4.6.5. Sintaxe
de RESET ......................................................................
274 4.6.6. Sintaxe de PURGE MASTER LOGS
.............................................. 274 4.6.7.
Sintaxe
de KILL ........................................................................
274 4.6.8. Sintaxe
de SHOW ........................................................................
275
4.7. Localização do MySQL e Utilização Internacional
......................................295 4.7.1. O Conjunto
de Caracteres Utilizado para Dados e Ordenação
.............295 4.7.2. Mensagens de Erros em Outras Línguas
.........................................296 4.7.3.
Adicionando um Novo Conjunto de Caracteres
................................ 297 4.7.4. Os Vetores de
Definições de Caracteres
.........................................298 4.7.5. Suporte à
Ordenação de Strings
.................................................... 299 4.7.6.
Suporte à Caracteres Multi-byte
.................................................... 299
4.7.7. Problemas com Conjuntos de Caracteres
........................................299
4.8. Utilitários e Scripts do Lado do Servidor MySQL
.......................................300 4.8.1. Visão Geral
dos Scripts e Utilitários do Lado Servidor
...................... 300 4.8.2. mysqld-safe, o wrapper
do mysqld ........................................301
4.8.3. mysqld_multi , programa para gerenciar múltiplos
servidores MySQL
........................................................................................................
302 4.8.4. myisampack, O Gerador de Tabelas Compactadas de
Somente Leitura d o MySQL
............................................................................................
305 4.8.5. mysqld-max, om servidor mysqld extendido
.............................. 311
Manual de Referência do MySQL para a ver- são 5.0.3-alpha.
vi
4.10. Os Arquivos de Log do MySQL
............................................................ 341
4.10.1. O Log de Erros
........................................................................
341 4.10.2. O Log de Consultas
..................................................................342
4.10.3. O Log de Atualizações
..............................................................342
4.10.4. O Log Binário
.........................................................................
343 4.10.5. O Log para Consultas Lentas
...................................................... 346
4.10.6. Manutenção do Log de Arquivo
.................................................. 346
4.11. Replicação no MySQL
........................................................................
347 4.11.1. Introdução
..............................................................................
347 4.11.2. Visão Geral da Implementação da Replicação
................................ 347 4.11.3. Detalhes de
Implementação da Replicação
.................................... 349 4.11.4. Como Configurar a
Replicação
................................................... 353 4.11.5.
Recursos de Replicação e Problemas Conhecidos
........................... 357 4.11.6. Opções de Inicialização da
Replicação .........................................359
4.11.7. Instruções SQL para Controle do Servidor Master
.......................... 367 4.11.8. Instruções SQL para Controle
do Servidor Slave ............................ 368 4.11.9.
FAQ da Replicação
..................................................................376
4.11.10. Problemas com Replicação
....................................................... 381
4.11.11. Relatando Problemas de Replicação
...........................................382
5. Otimização do MySQL
....................................................................................384
5.1. Visão Geral da Otimização
.....................................................................
384
5.1.1. Limitações do Projeto MySQL/Trocas
...........................................384 5.1.2.
Portabilidade .............................................................................
385 5.1.3. Para que Utilizamos o MySQL?
.................................................... 386
5.1.4. O Pacote de Benchmark do MySQL
.............................................. 386 5.1.5.
Utilizando seus Próprios Benchmarks
............................................388
5.2. Otimizando SELECTs e Outras Consultas
................................................. 388 5.2.1.
Sintaxe de EXPLAIN (Obter informações sobre uma
SELECT) ..........389 5.2.2. Estimando o Desempenho de
uma Consulta .................................... 396 5.2.3.
Velocidade das Consultas que Utilizam SELECT
............................. 396 5.2.4. Como o MySQL Otimiza
Cláusulas WHERE ....................................
397 5.2.5. Como o MySQL Otimiza IS
NULL .............................................. 398 5.2.6.
Como o MySQL Otimiza Cláusulas DISTINCT
.............................. 399 5.2.7. Como o MySQL
Otimiza LEFT JOIN e RIGHT JOIN
..................399 5.2.8. Como o MySQL Otimiza Cláusulas
ORDER BY .............................. 400 5.2.9. Como
o MySQL Otimiza Cláusulas LIMIT
.................................... 402 5.2.10. Performance
das Consultas que Utilizam INSERT
.........................403 5.2.11. Performance das Consultas que
Utilizam UPDATE .........................404 5.2.12.
Performance das Consultas que Utilizam DELETE
.........................405 5.2.13. Mais Dicas sobre Otimizações
....................................................
405
5.3. Detalhes sobre Locks
............................................................................
407 5.3.1. Como o MySQL Trava as Tabelas
................................................. 407 5.3.2.
Detalhes sobre Lock de Tabelas
....................................................
408
5.4. Otimizando a Estrutura de Banco de Dados
............................................... 410 5.4.1. Opções
do Projeto
......................................................................
410 5.4.2. Deixando os Dados com o Menor Tamanho Possível
........................ 410 5.4.3. Como o MySQL Utiliza
Índices ....................................................
411 5.4.4. Índices de Colunas
.....................................................................
413
Manual de Referência do MySQL para a ver- são 5.0.3-alpha.
vii
5.4.5. Índices de Múltiplas Colunas
....................................................... 414 5.4.6.
Como o MySQL Conta as Tabelas Abertas
..................................... 414 5.4.7. Como o MySQL Abre
e Fecha as Tabelas .......................................415
5.4.8. Desvantagem em Criar um Número Grande de Tabelas no Mesmo
Banco de Dados
..............................................................................................
416
5.5. Otimizando o Servidor MySQL
...............................................................416
5.5.1. Sintonia dos Parâmetros em Tempo de Sistema/Compilação e na
Inicializa - ção
..................................................................................................
416 5.5.2. Parâmetros de Sintonia do Servidor
............................................... 417 5.5.3. Como a
Compilação e a Ligação Afetam a Velocidade do MySQL ......
419 5.5.4. Como o MySQL Utiliza a Memória
............................................... 420 5.5.5.
Como o MySQL Utiliza o DNS
.................................................... 422 5.5.6.
Sintaxe
de SET ..........................................................................
422
5.6. Detalhes de Disco
.................................................................................
426 5.6.1. Utilizando Links Simbólicos
........................................................ 427
6. Referência de Linguagem do MySQL
.................................................................431
6.1. Estrutura da Linguagem
.........................................................................
431
6.1.1. Literais: Como Gravar Strings e Numerais
......................................431 6.1.2. Nomes de
Banco de dados, Tabela, Índice, Coluna e Alias
................. 434 6.1.3. Caso Sensitivo nos Nomes
...........................................................
435 6.1.4. Variáveis de Usuário
..................................................................436
6.1.5. Variáveis de Sistema
..................................................................437
6.1.6. Sintaxe de Comentários
..............................................................440
6.1.7. Tratamento de Palavras Reservadas no MySQL
............................... 441
6.2. Tipos de
Campos ..................................................................................
443 6.2.1. Tipos Numéricos
.......................................................................
448 6.2.2. Tipos de Data e Hora
..................................................................450
6.2.3. Tipos
String ..............................................................................
456 6.2.4. Escolhendo o Tipo Correto para uma Coluna
................................... 461 6.2.5. Usando Tipos
de Colunas de Outros Mecanismos de Banco de Dados ..461
6.2.6. Exigências de Armazenamento dos Tipos de Coluna
......................... 462
6.3. Funções para Uso em Cláusulas SELECT e WHERE
.................................... 463 6.3.1. Operadores e
Funções de Tipos não Especificados
........................... 464 6.3.2. Funções String
..........................................................................
471 6.3.3. Funções Numéricas
....................................................................
482 6.3.4. Funções de Data e Hora
..............................................................490
6.3.5. Funções de Conversão
................................................................506
6.3.6. Outras
Funções ..........................................................................
508 6.3.7. Funções e Modificadores para Usar com Cláusulas
GROUP BY .......... 519
6.4. Manipulação de Dados:
SELECT, INSERT, UPDATE e DELETE
.................. 524 6.4.1.
Sintaxe SELECT ........................................................................
524 6.4.2. Sintaxe de Subquery
...................................................................532
6.4.3.
Sintaxe INSERT ........................................................................
541 6.4.4.
Sintaxe UPDATE ........................................................................
546 6.4.5.
Sintaxe DELETE ........................................................................
547 6.4.6.
Sintaxe TRUNCATE ....................................................................
548 6.4.7.
Sintaxe REPLACE ......................................................................
549 6.4.8. Sintaxe LOAD DATA
INFILE ....................................................
549 6.4.9.
Sintaxe HANDLER ......................................................................
556 6.4.10. Sintaxe DO
..............................................................................
558
6.5. Definição de Dados: CREATE, DROP e ALTER
..........................................558 6.5.1.
Sintaxe CREATE
DATABASE ......................................................
558 6.5.2. Sintaxe DROP
DATABASE ..........................................................
558 6.5.3. Sintaxe CREATE TABLE
............................................................
559 6.5.4. Sintaxe ALTER TABLE
..............................................................567
6.5.5. Sintaxe RENAME TABLE
............................................................
571 6.5.6. Sintaxe DROP TABLE
................................................................571
6.5.7. Sintaxe CREATE INDEX
............................................................
572 6.5.8. Sintaxe DROP INDEX
................................................................573
6.6. Comandos Utilitários Básicos do Usuário MySQL
......................................573 6.6.1.
Sintaxe USE ..............................................................................
573 6.6.2. Sintaxe DESCRIBE (Obtem Informações Sobre
Colunas) .................. 573
6.7. Comandos Transacionais e de Lock do MySQL
.........................................574
Manual de Referência do MySQL para a ver- são 5.0.3-alpha.
viii
6.7.1. Sintaxe de START
TRANSACTION, COMMIT e ROLLBACK .............
574 6.7.2. Instruções que Não Podem Ser Desfeitas
........................................574 6.7.3. Instruções que
Fazem um Commit Implicito
................................... 575 6.7.4. Sintaxe
de SAVEPOINT e ROLLBACK TO SAVEPOINT
................575 6.7.5. Sintaxe LOCK
TABLES e UNLOCK TABLES
................................ 575 6.7.6. Sintaxe SET
TRANSACTION ......................................................
577
6.8. Pesquisa Full-text no MySQL
.................................................................578
6.8.1. Restrições Full-text
....................................................................
581 6.8.2. Ajuste Fino de Pesquisas Full-text no MySQL
................................. 582 6.8.3. TODO de
Pesquisas Full-text
....................................................... 583
6.9. Cache de Consultas do MySQL
...............................................................583
6.9.1. Como a Cache de Consultas Opera
................................................ 584 6.9.2.
Configuração da Cache de Consultas
............................................. 585 6.9.3. Opções da
Cache de Consultas na SELECT
.................................... 586 6.9.4. Estado e Manutenção
da Cache de Consultas ...................................
586
7. Tipos de Tabela do MySQL
..............................................................................
588 7.1. Tabelas MyISAM
..................................................................................
589
7.1.1. Espaço Necessário para Chaves
.................................................... 591 7.1.2.
Formatos de Tabelas MyISAM
...................................................... 591
7.1.3. Problemas com Tabelas MyISAM
.................................................. 594
7.2.
Tabelas MERGE ....................................................................................595
7.2.1. Problemas com Tabelas MERGE
....................................................
597
7.3.
Tabelas ISAM ......................................................................................598
7.4. Tabelas HEAP
......................................................................................599
7.5. Tabelas InnoDB
..................................................................................
600
7.5.1. Visão Geral de Tabelas InnoDB
.................................................... 600
7.5.2. InnoDB no MySQL Versão 3.23
................................................... 600
7.5.3. Opções de Inicialização do InnoDB
............................................... 601 7.5.4.
Criando Tablespaces no InnoDB
................................................... 606
7.5.5. Criando Tabelas InnoDB
.............................................................608
7.5.6. Adicionando e Removendo Arquivos de Dados e Log do InnoDB
.......612 7.5.7. Fazendo Backup e Recuperando um Banco de
Dados InnoDB ............ 612 7.5.8. Movendo um Banco de
Dados InnoDB para Outra Máquina ............... 615 7.5.9.
Modelo Transacional do InnoDB
.................................................. 615 7.5.10.
Dicas de Ajuste de Desempenho
................................................. 621 7.5.11.
Implementação de Multi-versioning
............................................. 624 7.5.12.
Estrutura de Tabelas e Índices
.................................................... 625 7.5.13.
Gerenciamento do Espaço de Arquivos e E/S de Disco
.................... 627 7.5.14. Tratando
Erros .........................................................................
629 7.5.15. Restrições em Tabelas InnoDB
................................................... 629 7.5.16.
Histórico de Alterações do InnoDB
............................................. 630 7.5.17.
Informações de Contato do InnoDB
............................................647
7.6. Tabelas BDB ou BerkeleyDB
...............................................................647
7.6.1. Visão Geral de Tabelas BDB
........................................................ 647 7.6.2.
Instalando BDB ..........................................................................
647 7.6.3. Opções de Inicialização do BDB
................................................... 648 7.6.4.
Características de Tabelas
BDB: ....................................................
649 7.6.5. Itens a serem corrigidos no BDB num futuro
próximo: ....................... 650 7.6.6. Sistemas
operacionais suportados pelo BDB
.................................... 650 7.6.7. Restrições em
Tabelas
BDB ..........................................................
651 7.6.8. Erros Que Podem Ocorrer Usando Tabelas BDB
.............................. 651
8. Introdução ao MaxDB
.....................................................................................652
8.1. Historia do MaxDB
..............................................................................
652 8.2. Licenciamento e Suporte
........................................................................
652 8.3. Conceitos Básicos do MaxDB
.................................................................652
8.4. Diferenças de Recursos entre o MaxDB e o MySQL
................................... 652 8.5. Interoperability
Features between MaxDB and MySQL
............................... 653 8.6. Links Relacionados ao
MaxDB
...............................................................653
8.7. Palavras Reservadas no MaxDB
..............................................................653
8.8. Funções
..............................................................................................
656 8.9. Tipos de
Colunas ..................................................................................
656
9. Conjunto de Caracteres Nacionais e Unicode
....................................................... 657 9.1.
Conjuntos de Caracteres e Collations em Geral
..........................................657
Manual de Referência do MySQL para a ver- são 5.0.3-alpha.
ix
9.2. Conjunto de Caracteres e Collations no MySQL
.........................................658 9.3.
Determinando o Conjunto de Caracteres e Collation Padrões
........................ 658
9.3.1. Conjunto de Caracteres e Collations do Servidor
.............................. 658 9.3.2. Conjunto de
Caracteres e Collation de Banco de Dados
..................... 659 9.3.3. O Conjunto de Caracteres e
Collations de Tabela ............................. 660
9.3.4. Conjunto de Caracteres e Collation de Colunas
................................ 660 9.3.5. Exemplos de
Atribuições de Conjuntos de Caracteres e Collation ........
661 9.3.6. Conjunto de Caracteres e Collation de Conexão
............................... 662 9.3.7. Conjunto de
Caracteres e Collation de Caracter de String Literal
......... 662 9.3.8. Cláusula COLLATE em Várias
Partes de uma Consulta SQL ..............663 9.3.9.
Precedência da Cláusula COLLATE
............................................... 664 9.3.10.
Operador BINARY
...................................................................665
9.3.11. Alguns Casos Especiais Onde a Determinação da Collation e
Trabalho sa
........................................................................................................
665 9.3.12. Collations Devem Ser para o Conjunto de Caracteres
Certo .............. 666 9.3.13. Um exemplo do Efeito da
Collation .............................................
666
9.4. Operações Afetadas pelo Suporte a Conjunto de Caracteres
.......................... 666 9.4.1. Strings de Resultados
.................................................................667
9.4.2. CONVERT()
............................................................................
667 9.4.3. CAST()
..................................................................................
667 9.4.4. SHOW CHARACTER SET
.......................................................... 668
9.4.5. SHOW COLLATION
..................................................................668
9.4.6. SHOW CREATE DATABASE
...................................................... 669
9.4.7. SHOW FULL COLUMNS
............................................................
669
9.5. Suporte Unicode
..................................................................................
669 9.6. UTF8 para Metdados
............................................................................
670 9.7. Compatibilidade com Outros SGBDs
....................................................... 671 9.8.
Novo Formato do Arquivo de Configuração do Conjunto de Caracteres
.......... 671 9.9. Conjunto de Caracteres Nacional
.............................................................671
9.10. Atualizando para o MySQL 4.0
.............................................................671
9.10.1. Conjunto de Caracteres do MySQL e o Par/Conjunto de
Caracter/Collation Correspondente do MySQL 4.1
.............................................................672
9.11. Os conjuntos de Caracteres e Collations que o MySQL Suporta
................... 673 9.11.1. O Conjunto de Caracteres
Unicode .............................................. 674
9.11.2. Conjunto de Caracteres para Plataformas Específicas
...................... 674 9.11.3. Conjunto de Caracteres do
Sul da Europa e Oriente Médio ............... 674 9.11.4. Os
Conjuntos de Caracteres Asiáticos
..........................................674 9.11.5. Os Conjuntos
de Caracteres Bálticos
............................................675 9.11.6. Os
Conjuntos de Caracteres Cirílicos
...........................................675 9.11.7. O Conjunto
de Caracteres da Europa Central
................................. 676 9.11.8. Os Conjuntos de
Caracteres da Europa Ocidental ...........................
677
10. Extensões Espacias em MySQL
.......................................................................
679 10.1. Introdução
.........................................................................................679
10.2. O Modelo Geomátrico OpenGIS
............................................................
680
10.2.1. A Hierarquia da Classe Geometry
............................................. 680 10.2.2.
Classe Geometry
...................................................................681
10.2.3. Classe Point
.........................................................................
682 10.2.4. Classe Curve
.........................................................................
682 10.2.5. Classe LineString
...............................................................683
10.2.6. Classe Surface
.....................................................................
683 10.2.7. Classe Polygon
.....................................................................
683 10.2.8. Classe GeometryCollection
............................................... 684 10.2.9.
Classe MultiPoint
...............................................................684
10.2.10. Classe MultiCurve
.............................................................684
10.2.11. Classe MultiLineString (Multi Linhas)
............................... 685 10.2.12.
Classe MultiSurface (Multi Superfícies)
............................... 685 10.2.13.
Classe MultiPolygon (Multi
Polígonos) ................................. 685
10.3. Formatos de Dados Espaciais Suportados
................................................ 686 10.3.1.
Formato Well-Known Text (WKT)
.............................................. 686 10.3.2.
Formato Well-Known Binary (WKB)
..........................................687
10.4. Criando um Banco de Dados MySQL Habilitado Espacialmente
.................. 688 10.4.1. Tipos de Dados Espaciais do
MySQL ..........................................688 10.4.2.
Criando Valores Espaciais
......................................................... 688
Manual de Referência do MySQL para a ver- são 5.0.3-alpha.
x
10.4.3. Criando Colunas Espaciais
......................................................... 691
10.4.4. Entrando com Dados em Colunas Espaciais
.................................. 692 10.4.5. Buscando Dados
Espaciais
.........................................................
693
10.5. Analisando Informação Espacial
............................................................
694 10.5.1. Funções Para Converter Geometrias Entre Formatos
Diferentes ........694 10.5.2. Funções de Análise das
Propriedades de Geometry ...................... 695
10.5.3. Funções Que Criam Novas Geometrias de Outras Existentes
............701 10.5.4. Funções Para Testar Relações
Espaciais Entre Objetos Geométricos ..702 10.5.5. Relações
de Retângulo de Limite Mínimo (Minimal Bounding Rectangle s - MBR)
em Geometrias
.......................................................................
702 10.5.6. Funções que Testam Relacionamentos Espaciais Entre
Geometrias ....703
10.6. Otimizando Análises Espaciais
..............................................................705
10.6.1. Criando Índices Espaciais
.......................................................... 705
10.6.2. Usando Índice Espacial
.............................................................706
10.7. Compatibilidade e Conformidade com o MySQL
......................................707 10.7.1. Recursos
GIS Que Ainda Não Estão Implementados .......................
707
11. Stored Procedures e Funções
...........................................................................
709 11.1. Sintaxe de Stored Procedure
.................................................................709
11.1.1. Manutenção de Stored Procedures
............................................... 710
11.1.2. SHOW PROCEDURE STATUS e SHOW FUNCTION
STATUS ........ 712
11.1.3. CALL .....................................................................................712
11.1.4. BEGIN ... END Compound Statement
..................................... 712 11.1.5.
Instrução DECLARE
.................................................................712
11.1.6. Variables in Stored Procedures
................................................... 713 11.1.7.
Condições e Handlers
...............................................................713
11.1.8. Cursors
..................................................................................
715 11.1.9. Flow Control Constructs
............................................................
716
12. Ferramentas de Clientes e APIs do MySQL
........................................................ 719
12.1. API C do MySQL
...............................................................................
719
12.1.1. Tipos de Dados da API C
...........................................................
719 12.1.2. Visão Geral das Função da API C
............................................... 722 12.1.3.
Descrição das Funções da API C
................................................. 725 12.1.4.
Instruções Preparadas da API C
.................................................. 762 12.1.5.
Tipos de Dados de Instruções Preparadas da API C
......................... 763 12.1.6. Visão Geral das Funções
de Instruções Preparadas da API C ............765 12.1.7.
Descrição das Funções de Instrução Preparada da API C
.................. 768 12.1.8. Tratando a Execução de
Múltiplas Consultas na API C .................... 784 12.1.9.
Manipulando Valores de Data e Hora na API C
.............................. 784 12.1.10. Descrição das
Funções de Threads da API C ................................
785 12.1.11. Descrição das Funções do Servidor Embutido da API C
................. 787 12.1.12. Dúvidas e problemas comuns ao
utilzar a API C ........................... 788 12.1.13.
Construindo Programas Clientes
................................................ 789 12.1.14.
Como Fazer um Cliente em Threads
...........................................790 12.1.15.
libmysqld, a Biblioteca do Servidor Embutido MySQL
.................. 791
12.2. Suporte ODBC ao MySQL
...................................................................795
12.2.1. Como Instalar o MyODBC
........................................................ 795
12.2.2. Como Preencher os Vários Campos no Programa de Administraçã
o do ODBC
.............................................................................................
796 12.2.3. Parâmetros de Conexão do MyODBC
..........................................797 12.2.4. Como Relatar
Problemas com o MyODBC ...................................
798 12.2.5. Programas que Funcionam com MyODBC
.................................... 799 12.2.6. Como Obter o
Valor de uma Coluna AUTO_INCREMENT no ODBC .803
12.2.7. Relatando Problemas com MyODBC
...........................................804
12.3. Conectividade Java (JDBC) ao MySQL
.................................................. 804 12.4. API
PHP do MySQL
...........................................................................
805
12.4.1. Problemas Comuns com MySQL e PHP
.......................................805 12.5. API Perl do
MySQL ............................................................................
805
12.5.1. DBI com DBD::mysql
........................................................... 805
12.5.2. A interface DBI
.......................................................................
806 12.5.3. Mais Informações
DBI / DBD .......................................................
812
12.6. API C++ do MySQL
...........................................................................
813 12.6.1. Borland C++
...........................................................................
813
12.7. API Python do MySQL
........................................................................
813
Manual de Referência do MySQL para a ver- são 5.0.3-alpha.
xi
12.8. API Tcl do MySQL
.............................................................................
813 12.9. Eiffel Wrapper do MySQL
...................................................................813
13. Tratamento de Erros no MySQL
......................................................................
814 13.1. Erros Retornados
................................................................................
814
14. Estendendo o MySQL
....................................................................................821
14.1. MySQL
Internals ................................................................................
821
14.1.1. Threads MySQL
......................................................................
821 14.1.2. Pacotes de Teste do MySQL
.......................................................
821
14.2. Adicionando Novas Funções ao MySQL
................................................. 824 14.2.1.
Sintaxe CREATE FUNCTION/DROP FUNCTION
........................ 824 14.2.2. Adicionando Novas
Funções Definidas Por Usuário ........................ 825
14.2.3. Adicionando uma Nova Função Nativa
........................................832
14.3. Adicionado Novos Procedimentos ao MySQL
..........................................833 14.3.1. Análise
de Procedimento
........................................................... 834
14.3.2. Escrevendo um Procedimento
.....................................................
834
A. Problemas e Erros Comuns
..............................................................................
835 A.1. Como Determinar o Que Está Causando Problemas
.................................... 835 A.2. Erros Comuns
Usando o
MySQL ............................................................
836
A.2.1. Erro: Access Denied
............................................................
836 A.2.2. Erro: MySQL server has gone awa y
.................................. 836 A.2.3. Erro: Can't
connect to [local] MySQL server ............ 837 A.2.4. Erro:
Client does not support authentication prot o- col
.................................................................................................
839 A.2.5. Erro: Host '...' is blocked
............................................839 A.2.6.
Erro: Too many connections
.............................................. 840 A.2.7. Erro:
Some non-transactional changed tables couldn' t be rolled
back
...........................................................................
840 A.2.8. Erro: Out of memory
............................................................
840 A.2.9. Erro: Packet too large
...................................................... 841 A.2.10.
Erros de Comunicação / Comunicação Abortada
........................... 841 A.2.11. Erro: The table is
full .................................................. 842
A.2.12. Erro: Can't create/write to file
................................ 843 A.2.13. Erro no Cliente:
Commands out of sync .............................. 843
A.2.14. Erro: Ignoring user
.......................................................... 844
A.2.15. Erro: Table 'xxx' doesn't exis t
.................................. 844 A.2.16. Erro: Can't
initialize character set xxx ................844 A.2.17.
Arquivo Não Encontrado
..........................................................
845
A.3. Assuntos Relacionados a Instalação
........................................................ 846 A.3.1.
Problemas de Ligação com a Biblioteca do Cliente MySQL
..............846 A.3.2. Como Executar o MySQL Como Um Usuário
Normal ..................... 847 A.3.3. Problemas com
Permissões de Arquivos
........................................847
A.4. Assuntos Relacionados a Administração
.................................................. 848 A.4.1. O Que
Fazer Se o MySQL Continua Falhando
................................ 848 A.4.2. Como Recuperar
uma Senha de Root Esquecida ..............................
850 A.4.3. Como o MySQL Trata de Discos Sem Espaço
................................ 851 A.4.4. Onde o MySQL Armazena
Arquivos Temporários ..........................852 A.4.5.
Como Proteger ou AlterarHow to Protect or Change the MySQL Socket
Fi- le /tmp/mysql.sock
.....................................................................
852 A.4.6. Problemas Com Fuso Horário
......................................................
853
A.5. Assuntos Relacionados a Consultas
......................................................... 853
A.5.1. Caso-Sensitivito em Pesquisas
..................................................... 853
A.5.2. Problemas Usando Colunas DATE
................................................ 853 A.5.3.
Problemas com Valores NULL
..................................................... 854 A.5.4.
Problemas com alias
..............................................................856
A.5.5. Deletando Linhas de Tabelas Relacionadas
.................................... 856 A.5.6. Resolvendo
Problemas Com Registros Não Encontrados
..................856 A.5.7. Problemas com Comparação de Ponto
Flutuante ............................. 857
A.6. Assuntos Relacionados ao Otimizador
..................................................... 859 A.6.1.
Camo evitar o varredura da tabela,,,
.............................................. 859
A.7. Assuntos Relacionados a Definições de Tabelas
........................................860 A.7.1. Problemas com
ALTER TABLE.
................................................. 860 A.7.2. Como
Alterar a Ordem das Colunas em Uma Tabela
........................ 860 A.7.3. Problemas com TEMPORARY
TABLE ........................................861
Manual de Referência do MySQL para a ver- são 5.0.3-alpha.
xii
C. Colaboradores do MySQL
...............................................................................
867 C.1. Desenvolvedores do MySQL
.................................................................867
C.2. Coolaboradores do MySQL
...................................................................871
C.3. Responsáveis pela Documentação e Tradução
...........................................875 C.4. Bibliotecas
usadas e incluidas com o MySQL
............................................876 C.5. Pacotes
que suportam o MySQL
.............................................................877
C.6. Ferramentas que são usadas para criar o MySQL
.......................................878 C.7. Responsáveis pelo
Suporte do MySQL
.................................................... 878
D. Histórico de Alterações do MySQL
...................................................................880
D.1. Alterações na distribuição 5.0.0 (Development)
.........................................880 D.2. Alterações
na distribuição 4.1.x (Alpha)
................................................... 880
D.2.1. Alterações na distribuição 4.1.2 (not released yet)
........................... 881 D.2.2. Alterações na distribuição
4.1.1 (01 de Dez de 2003) ....................... 882 D.2.3.
Alterações na distribuição 4.1.0 (03 Apr 2003: Alpha)
.....................886
D.3. Alterações na distribuição 4.0.x (Production)
............................................889 D.3.1. Alterações
na distribuição 4.0.17 (not released yet)
.......................... 889 D.3.2. Alterações na
distribuição 4.0.16 (17 Out 2003)
.............................. 891 D.3.3. Alterações na
distribuição 4.0.15 (03 Sep 2003)
.............................. 893 D.3.4. Alterações na
distribuição 4.0.14 (18 Jul 2003)
............................... 897 D.3.5. Alterações na
distribuição 4.0.13 (16 May 2003) ............................. 900
D.3.6. Alterações na distribuição 4.0.12 (15 Mar 2003: Production)
............. 904 D.3.7. Alterações na distribuição 4.0.11
(20 Feb 2003) .............................. 905 D.3.8.
Alterações na distribuição 4.0.10 (29 Jan 2003)
.............................. 906 D.3.9. Alterações na
distribuição 4.0.9 (09 Jan 2003)
................................ 908 D.3.10. Alterações na
distribuição 4.0.8 (07 Jan 2003)
.............................. 908 D.3.11. Alterações na
distribuição 4.0.7 (20 Dec 2002)
.............................. 909 D.3.12. Alterações na
distribuição 4.0.6 (14 Dec 2002: Gamma) .................909
D.3.13. Alterações na distribuição 4.0.5 (13 Nov 2002)
............................. 911 D.3.14. Alterações na
distribuição 4.0.4 (29 Sep 2002)
.............................. 913 D.3.15. Alterações na
distribuição 4.0.3 (26 Aug 2002: Beta)
.....................914 D.3.16. Alterações na distribuição 4.0.2
(01 Jul 2002) ............................... 916 D.3.17.
Alterações na distribuição 4.0.1 (23 Dec 2001)
.............................. 920 D.3.18. Alterações na
distribuição 4.0.0 (Oct 2001: Alpha) ........................
921
D.4. Alterações na distribuição 3.23.x (Recent; still supported)
........................... 923 D.4.1. Alterações na
distribuição 3.23.59 (not released yet)
........................ 924 D.4.2. Alterações na
distribuição 3.23.58 (11 Sep 2003)
............................ 924 D.4.3. Alterações na distribuição
3.23.57 (06 Jun 2003) ............................. 924
D.4.4. Alterações na distribuição 3.23.56 (13 Mar 2003)
............................ 925 D.4.5. Alterações na
distribuição 3.23.55 (23 Jan 2003)
............................. 927 D.4.6. Alterações na
distribuição 3.23.54 (05 Dec 2002)
............................ 927 D.4.7. Alterações na
distribuição 3.23.53 (09 Oct 2002)
............................ 928 D.4.8. Alterações na distribuição
3.23.52 (14 Aug 2002) ...........................929 D.4.9.
Alterações na distribuição 3.23.51 (31 May 2002)
........................... 930 D.4.10. Alterações na distribuição
3.23.50 (21 Apr 2002) .......................... 930 D.4.11.
Alterações na distribuição 3.23.49
.............................................. 931 D.4.12.
Alterações na distribuição 3.23.48 (07 Feb 2002)
........................... 932 D.4.13. Alterações na
distribuição 3.23.47 (27 Dec 2001)
.......................... 932 D.4.14. Alterações na distribuição
3.23.46 (29 Nov 2001) .......................... 933 D.4.15.
Alterações na distribuição 3.23.45 (22 Nov 2001)
.......................... 933 D.4.16. Alterações na
distribuição 3.23.44 (31 Oct 2001)
........................... 934 D.4.17. Alterações na
distribuição 3.23.43 (04 Oct 2001)
........................... 935 D.4.18. Alterações na
distribuição 3.23.42 (08 Sep 2001)
........................... 936 D.4.19. Alterações na
distribuição 3.23.41 (11 Aug 2001) ..........................
936 D.4.20. Alterações na distribuição 3.23.40
.............................................. 937 D.4.21.
Alterações na distribuição 3.23.39 (12 Jun 2001)
........................... 938 D.4.22. Alterações na distribuição
3.23.38 (09 May 2001) .........................938 D.4.23.
Alterações na distribuição 3.23.37 (17 Apr 2001)
.......................... 939 D.4.24. Alterações na distribuição
3.23.36 (27 Mar 2001) .......................... 940 D.4.25.
Alterações na distribuição 3.23.35 (15 Mar 2001)
.......................... 940
Manual de Referência do MySQL para a ver- são 5.0.3-alpha.
xiii
D.4.26. Alterações na distribuição 3.23.34a
............................................. 941 D.4.27.
Alterações na distribuição 3.23.34 (10 Mar 2001)
.......................... 941 D.4.28. Alterações na distribuição
3.23.33 (09 Feb 2001) ........................... 942 D.4.29.
Alterações na distribuição 3.23.32 (22 Jan 2001: Production)
........... 943 D.4.30. Alterações na distribuição 3.23.31
(17 Jan 2001) ........................... 944 D.4.31.
Alterações na distribuição 3.23.30 (04 Jan 2001)
........................... 945 D.4.32. Alterações na distribuição
3.23.29 (16 Dec 2000) .......................... 945 D.4.33.
Alterações na distribuição 3.23.28 (22 Nov 2000: Gamma)
.............. 947 D.4.34. Alterações na distribuição 3.23.27
(24 Oct 2000) ........................... 949 D.4.35.
Alterações na distribuição 3.23.26 (18 Oct 2000)
........................... 949 D.4.36. Alterações na
distribuição 3.23.25 (29 Sep 2000)
........................... 950 D.4.37. Alterações na
distribuição 3.23.24 (08 Sep 2000)
........................... 952 D.4.38. Alterações na
distribuição 3.23.23 (01 Sep 2000)
........................... 952 D.4.39. Alterações na
distribuição 3.23.22 (31 Jul 2000)
............................ 953 D.4.40. Alterações na
distribuição 3.23.21
.............................................. 954 D.4.41.
Alterações na distribuição 3.23.20
.............................................. 954 D.4.42.
Alterações na distribuição 3.23.19
.............................................. 955 D.4.43.
Alterações na distribuição 3.23.18
.............................................. 955 D.4.44.
Alterações na distribuição 3.23.17
.............................................. 955 D.4.45.
Alterações na distribuição 3.23.16
.............................................. 956 D.4.46.
Alterações na distribuição 3.23.15 (May 2000: Beta)
...................... 957 D.4.47. Alterações na distribuição
3.23.14 .............................................. 958
D.4.48. Alterações na distribuição 3.23.13
.............................................. 958 D.4.49.
Alterações na distribuição 3.23.12 (07 Mar 2000)
.......................... 959 D.4.50. Alterações na distribuição
3.23.11 .............................................. 960
D.4.51. Alterações na distribuição 3.23.10
.............................................. 960 D.4.52.
Alterações na distribuição 3.23.9
................................................ 960 D.4.53.
Alterações na distribuição 3.23.8 (02 Jan 2000)
............................. 961 D.4.54. Alterações na
distribuição 3.23.7 (10 Dec 1999)
............................ 962 D.4.55. Alterações na
distribuição 3.23.6
................................................ 962 D.4.56.
Alterações na distribuição 3.23.5 (20 Oct 1999)
............................ 963 D.4.57. Alterações na distribuição
3.23.4 (28 Sep 1999) ............................ 964
D.4.58. Alterações na distribuição 3.23.3
................................................ 965 D.4.59.
Alterações na distribuição 3.23.2 (09 Aug 1999)
...........................965 D.4.60. Alterações na distribuição
3.23.1 ................................................ 966
D.4.61. Alterações na distribuição 3.23.0 (05 Aug 1999: Alpha)
.................. 966
D.5. Alterações na distribuição 3.22.x (Old; discontinued)
................................. 968 D.5.1. Alterações na
distribuição 3.22.35
................................................ 968 D.5.2.
Alterações na distribuição 3.22.34
................................................ 969 D.5.3.
Alterações na distribuição 3.22.33
................................................ 969 D.5.4.
Alterações na distribuição 3.22.32 (14 Feb 2000)
............................ 969 D.5.5. Alterações na distribuição
3.22.31 ................................................ 969
D.5.6. Alterações na distribuição 3.22.30
................................................ 969 D.5.7.
Alterações na distribuição 3.22.29 (02 Jan 2000)
............................. 970 D.5.8. Alterações na
distribuição 3.22.28 (20 Oct 1999)
............................ 970 D.5.9. Alterações na distribuição
3.22.27 ................................................ 970
D.5.10. Alterações na distribuição 3.22.26 (16 Sep 1999)
........................... 970 D.5.11. Alterações na
distribuição 3.22.25
.............................................. 971 D.5.12.
Alterações na distribuição 3.22.24 (05 Jul 1999)
............................ 971 D.5.13. Alterações na
distribuição 3.22.23 (08 Jun 1999)
........................... 971 D.5.14. Alterações na distribuição
3.22.22 (30 Apr 1999) .......................... 972 D.5.15.
Alterações na distribuição 3.22.21
.............................................. 972 D.5.16.
Alterações na distribuição 3.22.20 (18 Mar 1999)
.......................... 972 D.5.17. Alterações na distribuição
3.22.19 (Mar 1999: Production) .............. 973 D.5.18.
Alterações na distribuição 3.22.18
.............................................. 973 D.5.19.
Alterações na distribuição 3.22.17
.............................................. 973 D.5.20.
Alterações na distribuição 3.22.16 (Feb 1999: Gamma)
..................973 D.5.21. Alterações na distribuição 3.22.15
.............................................. 973 D.5.22.
Alterações na distribuição 3.22.14
.............................................. 974 D.5.23.
Alterações na distribuição 3.22.13
.............................................. 974 D.5.24.
Alterações na distribuição 3.22.12
.............................................. 974 D.5.25.
Alterações na distribuição 3.22.11
.............................................. 975 D.5.26.
Alterações na distribuição 3.22.10
.............................................. 976
Manual de Referência do MySQL para a ver- são 5.0.3-alpha.
xiv
D.5.27. Alterações na distribuição 3.22.9
................................................ 976 D.5.28.
Alterações na distribuição 3.22.8
................................................ 977 D.5.29.
Alterações na distribuição 3.22.7 (Sep 1998: Beta)
......................... 977 D.5.30. Alterações na
distribuição 3.22.6
................................................ 978 D.5.31.
Alterações na distribuição 3.22.5
................................................ 978 D.5.32.
Alterações na distribuição 3.22.4
................................................ 980 D.5.33.
Alterações na distribuição 3.22.3
................................................ 980 D.5.34.
Alterações na distribuição 3.22.2
................................................ 981 D.5.35.
Alterações na distribuição 3.22.1 (Jun 1998: Alpha)
....................... 981 D.5.36. Alterações na
distribuição 3.22.0
................................................ 982
D.6. Alterações na distribuição 3.21.x
............................................................ 983
D.6.1. Alterações na distribuição 3.21.33
................................................ 983 D.6.2.
Alterações na distribuição 3.21.32
................................................ 983 D.6.3.
Alterações na distribuição 3.21.31
................................................ 984 D.6.4.
Alterações na distribuição 3.21.30
................................................ 984 D.6.5.
Alterações na distribuição 3.21.29
................................................ 985 D.6.6.
Alterações na distribuição 3.21.28
................................................ 985 D.6.7.
Alterações na distribuição 3.21.27
................................................ 985 D.6.8.
Alterações na distribuição 3.21.26
................................................ 986 D.6.9.
Alterações na distribuição 3.21.25
................................................ 986 D.6.10.
Alterações na distribuição 3.21.24
.............................................. 986 D.6.11.
Alterações na distribuição 3.21.23
.............................................. 987 D.6.12.
Alterações na distribuição 3.21.22
.............................................. 987 D.6.13.
Alterações na distribuição 3.21.21a
............................................. 988 D.6.14.
Alterações na distribuição 3.21.21
.............................................. 988 D.6.15.
Alterações na distribuição 3.21.20
.............................................. 988 D.6.16.
Alterações na distribuição 3.21.19
.............................................. 988 D.6.17.
Alterações na distribuição 3.21.18
.............................................. 989 D.6.18.
Alterações na distribuição 3.21.17
.............................................. 989 D.6.19.
Alterações na distribuição 3.21.16
.............................................. 989 D.6.20.
Alterações na distribuição 3.21.15
.............................................. 990 D.6.21.
Alterações na distribuição 3.21.14b
............................................. 991 D.6.22.
Alterações na distribuição 3.21.14a
............................................. 991 D.6.23.
Alterações na distribuição 3.21.13
.............................................. 991 D.6.24.
Alterações na distribuição 3.21.12
.............................................. 992 D.6.25.
Alterações na distribuição 3.21.11
.............................................. 993 D.6.26.
Alterações na distribuição 3.21.10
.............................................. 993 D.6.27.
Alterações na distribuição 3.21.9
................................................ 993 D.6.28.
Alterações na distribuição 3.21.8
................................................ 994 D.6.29.
Alterações na distribuição 3.21.7
................................................ 994 D.6.30.
Alterações na distribuição 3.21.6
................................................ 995 D.6.31.
Alterações na distribuição 3.21.5
................................................ 995 D.6.32.
Alterações na distribuição 3.21.4
................................................ 995 D.6.33.
Alterações na distribuição 3.21.3
................................................ 995 D.6.34.
Alterações na distribuição 3.21.2
................................................ 996 D.6.35.
Alterações na distribuição 3.21.0
................................................ 997
D.7. Alterações na distribuição 3.20.x
............................................................ 998
D.7.1. Alterações na distribuição 3.20.18
................................................ 998 D.7.2.
Alterações na distribuição 3.20.17
................................................ 999 D.7.3.
Alterações na distribuição 3.20.16
................................................ 999 D.7.4.
Alterações na distribuição 3.20.15
.............................................. 1000 D.7.5.
Alterações na distribuição 3.20.14
.............................................. 1000 D.7.6.
Alterações na distribuição 3.20.13
.............................................. 1000 D.7.7.
Alterações na distribuição 3.20.11
.............................................. 1001 D.7.8.
Alterações na distribuição 3.20.10
.............................................. 1001 D.7.9.
Alterações na distribuição 3.20.9
................................................ 1002 D.7.10.
Alterações na distribuição 3.20.8
.............................................. 1002 D.7.11.
Alterações na distribuição 3.20.7
.............................................. 1002 D.7.12.
Alterações na distribuição 3.20.6
.............................................. 1003 D.7.13.
Alterações na distribuição 3.20.3
.............................................. 1004 D.7.14.
Alterações na distribuição 3.20.0
.............................................. 1004
D.8. Alterações na distribuição 3.19.x
.......................................................... 1005
D.8.1. Alterações na distribuição 3.19.5
................................................ 1005
Manual de Referência do MySQL para a ver- são 5.0.3-alpha.
xv
D.8.2. Alterações na distribuição 3.19.4
................................................ 1005 D.8.3.
Alterações na distribuição 3.19.3
................................................ 1006
E. Portando para Outros Sistemas
........................................................................
1007 E.1. Depurando um Servidor MySQL
..........................................................
1008
E.1.1. Compilando o MYSQL para Depuração
....................................... 1008 E.1.2. Criando
Arquivos Trace (Rastreamento)
...................................... 1009 E.1.3. Depurando o
mysqld no gdb
...................................................... 1009 E.1.4.
Usando Stack Trace
.................................................................
1010 E.1.5. Usando Arquivos de Log para Encontrar a Causa dos Erros
no mysqld 1011 E.1.6. Fazendo um Caso de Teste Se Ocorre um
Corrompimento de Tabela . 1012
E.2. Depurando um cliente MySQL.
............................................................ 1013
E.3. O Pacote DBUG
................................................................................
1013 E.4. Métodos de Lock
...............................................................................
1015 E.5. Comentários Sobre Threads RTS
.......................................................... 1016
E.6. Diferença en Entre Alguns Pacotes de Threads
........................................ 1017
F. Variáveis de Ambientes do MySQL
.................................................................
1019 G. Sintaxe de Expressões Regulares do MySQL
..................................................... 1020 H.
GPL - Licença Pública Geral do GNU
..............................................................
1023
Manual de Referência do MySQL para a ver- são 5.0.3-alpha.
xvi
Preface Este é o Manual de Referência para o Sistema de Banco
de Dados MySQL . Este versão se refere a versão 5.0.3-alpha do
MySQL Server mas também se aplica a versões mais
antigas (tais como 3.23 e 4.0-produção) já que as alterações são
sempre indicadas. Também há referência a ver- são 5.0
(desenvolvimento).
xvii
Capítulo 1. Informações Gerais O programa MySQL (R) é
um servidor robusto de bancos de dados SQL (Structured Query
Language - Linguagem Estruturada para Pesquisas) muito
rápido, multi-tarefa e multi-usuário. O Servidor MySQL
pode ser usado em sistemas de produção com alta carga e
missão crítica bem como pode ser embutido em programa de uso em
massa. MySQL é uma marca registrada da MySQL
AB.
O programa MySQL é de Licença Dupla . Os usuários
podem escolher entre usar o programa MySQL como um produto
Open Source / Free Software sob os termos da
GNU General Public License
(http://www.fsf.org/licenses/) ou podem comprar uma
licença comercial pa- drão da MySQL AB. See Secção 1.4,
“Suporte e Licenciamento do MySQL” .
O site web do MySQL (http://www.mysql.com/)
dispõe das últimas informações sobre o programa MySQL.
A seguinte lista descreve algumas seções de particular interesse
neste manual:
• Para informações sobre a empresa por trás do Servidor do
Banco de Dados MySQL , veja Secção 1.3, “Visão Geral da MySQL
AB” .
• Para discussões das capacidades do Servidor do Banco de
Dados MySQL , veja Sec- ção 1.2.2, “As Principais Características
do MySQL”.
• Para instruções de instalação, veja Capítulo 2,
Instalação do MySQL.
• Para dicas sobre a portabilidade do Servidor do Banco de
Dados MySQL para novas arquiteturas ou sistemas operacionais,
veja Apêndice E, Portando para Outros Sistemas.
• Para informações sobre a atualização da versão 4.0, veja Secção
2.5.1, “Atualizando da Versão 4.0 para 4.1”.
• Para informações sobre a atualização da versão 3.23, veja
Secção 2.5.2, “Atualizando da Versão 3.23 para 4.0”.
• Para informações sobre a atualização da versão 3.22, veja Secção
2.5.3, “Atualizando da versão 3.22 para 3.23”.
• Para um tutorial de introdução ao Servidor do Banco de Dados
MySQL , veja Capítu- lo 3, Tutorial de Introdução Do
MySQL.
• Para exemplos de SQL e informações sobre benchmarks,
veja o diretório de benchmarks ( sql- bench na
distribuição).
• Para o histórico de novos recursos e correções de erros, veja
Apêndice D, Histórico de Altera- ções do MySQL.
• Para uma lista de erros atualmente conhecidos e
mal-funcionamento, veja Secção 1.8.6, “Erros Conhecidos e
Deficiências de Projetos no MySQL”.
• Para projetos futuros, veja Secção 1.6, “MySQL e o Futuro (o
TODO)” .
• Para ver a lista de todos os colaboradores deste projeto, veja
Apêndice C, Colaboradores do MySQL.
Importante:
Relatórios de erros (também chamados bugs), bem como dúvidas e
comentários, devem ser envia- dos para a lista de email geral do
MySQL. See Secção 1.7.1.1, “As Listas de Discussão do
MySQL”. See Secção 1.7.1.3, “Como relatar erros ou problemas”
.
O script mysqlbug deve ser usado para gerar
comunicados de erros no Unix. (A distribuição do Windows contém um
arquivo mysqlbug.txt no diretório base que pode ser
usado como um tem- plate para um relatório de erro.
Em distribuições fonte, o script mysqlbug pode ser
encontrado no diretório scripts. Para distri- buições
binárias, o mysqlbug pode ser encontrado no diretório
bin (/usr/bin para o pacote RMP do servidor
MySQL .
Se você encontrou um erro de segurança no Servidor MySQL ,
você deve enviar um email para <
[email protected]> .
1.1. Sobre Este Manual Este é o manual de referência MySQL;
ele documenta o MySQL até a versão 5.0.3-alpha. Mudanças
funcionais são sempre indicadas com referência a versão, assim este
manual também pode ser utilia- do caso você esteja utilizando uma
versão mais antiga do MySQL (como 3.23 ou
4.0-produção). Também a referências a versão 5.0
(desenvolvimento).
Sendo um manual de referência, ele não fornece instruções gerais
sobre SQL ou conceitos de banco de dados
relacionais.
Como o Programa da Banco de Dados MySQL está sob
constante desenvolvimento, o ma- nual também é atualizado
freqüentemente. A versão mais recente deste manual está disponível
em http://www.mysql.com/d