Manual de Referência do MySQL
Índice - Preface
- 1. Informações Gerais
- 1.1. Sobre Este Manual
- 1.1.1. Convenções Usadas Neste Manual
- 1.2. Visão Geral do Sistema de Gerenciamento de Banco de Dados MySQL
- 1.2.1. História do MySQL
- 1.2.2. As Principais Características do MySQL
- 1.2.3. Estabilidade do MySQL
- 1.2.4. Qual o Tamanho Que as Tabelas do MySQL Podem Ter?
- 1.2.5. Compatibilidade Com o Ano 2000 (Y2K)
- 1.3. Visão Geral da MySQL AB
- 1.3.1. O Modelo de Negócio e Serviços da MySQL AB
- 1.3.2. Informações para Contato
- 1.4. Suporte e Licenciamento do MySQL
- 1.4.1. Suporte Oferecido pela MySQL AB
- 1.4.2. Copyrights e Licenças Usadas pelo MySQL
- 1.4.3. Licenças do MySQL
- 1.4.4. Logomarcas e Marcas Registradas da MySQL AB
- 1.5. Mapa de Desenvolvimento do MySQL
- 1.5.1. MySQL 4.0 in a Nutshell
- 1.5.2. MySQL 4.1 in a Nutshell
- 1.5.3. MySQL 5.0, A Próxima Distribuição de Desenvolvimento
- 1.6. MySQL e o Futuro (o TODO)
- 1.6.1. Novos Recursos Planejados Para a Versão 4.1
- 1.6.2. Novos Recursos Planejados Para a Versão 5.0
- 1.6.3. Novos Recursos Planejados Para a Versão 5.1
- 1.6.4. Novos Recursos Planejados Para a Versão em um Futuro Próximo
- 1.6.5. Novos Recursos Planejados Para a Versão em um Futuro a Médio Prazo
- 1.6.6. Novos Recursos que Não Planejamos Fazer
- 1.7. Fontes de Informações do MySQL
- 1.7.1. Listas de Discussão MySQL
- 1.7.2. Suporte a Comunidade MySQL Atrvés do IRC (Internet Relay Chat)
- 1.8. Qual compatibilidade aos padrões o MySQL oferece ?
- 1.8.1. Qual Padrão o MySQL Segue?
- 1.8.2. Executando o MySQL no modo ANSI
- 1.8.3. Extensões do MySQL para o Padrão SQL-92
- 1.8.4. Diferenças do MySQL em Comparação com o SQL-92
- 1.8.5. Como o MySQL Lida com Restrições
- 1.8.6. Erros Conhecidos e Deficiências de Projetos no MySQL
- 2. Instalação do MySQL
- 2.1. Instalação rápida padrão do MySQL
- 2.1.1. Instalando o MySQL no Windows
- 2.1.2. Instalando o MySQL no Linux
- 2.1.3. Instalando o MySQL no Mac OS X
- 2.1.4. Instalando o MySQL no NetWare
- 2.2. Detalhes Gerais de Instalação
- 2.2.1. Como obter o MySQL
- 2.2.2. Verificando a Integridade do Pacote Usando
MD5 Checksums ou GnuPG - 2.2.3. Sistemas Operacionais suportados pelo MySQL
- 2.2.4. Qual versão do MySQL deve ser usada
- 2.2.5. Layouts de Instalação
- 2.2.6. Como e quando as atualizações são lançadas?
- 2.2.7. Filosofia das Distribuições - Nenhum Bug Conhecidos nas Distribuições
- 2.2.8. Binários MySQL compilados pela MySQL AB
- 2.2.9. Instalando uma Distribuição Binária do MySQL
- 2.3. Instalando uma distribuição com fontes do MySQL
- 2.3.1. Visão geral da instalação rápida
- 2.3.2. Aplicando patches
- 2.3.3. Opções típicas do
configure - 2.3.4. Instalando pela árvore de fontes do desenvolvimento
- 2.3.5. Lidando com Problemas de Compilação
- 2.3.6. Notas MIT-pthreads
- 2.3.7. Instalando o MySQL a partir do Fonte no Windows
- 2.4. Configurações e Testes Pós-instalação
- 2.4.1. Problemas Executando o
mysql_install_db - 2.4.2. Problemas Inicializando o Servidor MySQL
- 2.4.3. Inicializando e parando o MySQL automaticamente.
- 2.5. Atualizando/Desatualizando o MySQL
- 2.5.1. Atualizando da Versão 4.0 para 4.1
- 2.5.2. Atualizando da Versão 3.23 para 4.0
- 2.5.3. Atualizando da versão 3.22 para 3.23
- 2.5.4. Atualizando da versão 3.21 para 3.22
- 2.5.5. Atualizando da versão 3.20 para 3.21
- 2.5.6. Atualizando a Tabela de Permissões
- 2.5.7. Atualizando para outra arquitetura
- 2.5.8. Atualizando o MySQL no Windows
- 2.6. Notas específicas para os Sistemas Operacionais
- 2.6.1. Notas Windows
- 2.6.2. Notas Linux (Todas as versões)
- 2.6.3. Notas Solaris
- 2.6.4. Notas BSD
- 2.6.5. Notas Mac OS X
- 2.6.6. Notas de Outros Unix
- 2.6.7. Notas OS/2
- 2.6.8. Notas Novell NetWare
- 2.6.9. Notas BeOS
- 2.7. Comentários de Instalação do Perl
- 2.7.1. Instalando Perl no Unix
- 2.7.2. Instalaando ActiveState Perl no Windows
- 2.7.3. Problemas Usando a Interface Perl
DBI/DBD
- 3. Tutorial de Introdução Do MySQL
- 3.1. Conectando e Desconectando do Servidor
- 3.2. Fazendo Consultas
- 3.3. Criação e Utilização de um Banco de Dados
- 3.3.1. Criando e Selecionando um Banco de Dados
- 3.3.2. Criando uma Tabela
- 3.3.3. Carregando dados em uma tabela
- 3.3.4. Recuperando Informações de uma Tabela
- 3.4. Obtendo Informações Sobre Bancos de Dados e Tabelas
- 3.5. Utilizando
mysql em Modo Batch - 3.6. Exemplos de Consultas Comuns
- 3.6.1. O Valor Máximo para uma Coluna
- 3.6.2. O Registro que Armazena o Valor Máximo para uma Coluna Determinada
- 3.6.3. Máximo da Coluna por Grupo
- 3.6.4. As Linhas Armazenando o Group-wise Máximo de um Certo Campo
- 3.6.5. Utilizando Variáveis de Utilizador
- 3.6.6. Utilizando Chaves Estrangeiras
- 3.6.7. Pesquisando em Duas Chaves
- 3.6.8. Calculando Visitas Diárias
- 3.6.9. Usando
AUTO_INCREMENT
- 3.7. Consultas de Projetos Gêmeos
- 3.7.1. Encontrando Todos Gêmeos Não-distribuídos
- 3.7.2. Mostrando uma Tabela sobre a Situação dos Pares Gêmeos
- 3.8. Utilizando MySQL com Apache
- 4. Administração do Bancos de Dados MySQL
- 4.1. Configurando o MySQL
- 4.1.1. Opções de Linha de Comando do
mysqld - 4.1.2. Arquivo de Opções
my.cnf
- 4.2. Executando Múltiplos MySQL Servers na Mesma Máquina
- 4.2.1. Executando Múltiplos Servidores no Windows
- 4.2.2. Executando Múltiplos Servidores no Unix
- 4.2.3. Usando Programas Clientes em um Ambiente Multi-Servidor
- 4.3. Detalhes Gerais de Segurança e o Sistema de Privilégio de Acesso do MySQL
- 4.3.1. Segurança Geral
- 4.3.2. Como Tornar o MySQL Seguro contra Crackers
- 4.3.3. Opções de Inicialização para o
mysqld em Relação a Segurança. - 4.3.4. Detalhes de Segurança com
LOAD DATA LOCAL - 4.3.5. O Que o Sistema de Privilégios Faz
- 4.3.6. Como o Sistema de Privilégios Funciona
- 4.3.7. Privilégios Fornecidos pelo MySQL
- 4.3.8. Conectando ao Servidor MySQL
- 4.3.9. Controle de Acesso, Estágio 1: Verificação da Conexão
- 4.3.10. Controle de Acesso, Estágio 2: Verificação da Requisição
- 4.3.11. Hashing de Senhas no MySQL 4.1
- 4.3.12. Causas dos Erros de
Accesso Negado
- 4.4. Gerenciamento das Contas dos Utilizadores no MySQL
- 4.4.1. A Sintaxe de
GRANT e REVOKE - 4.4.2. Nomes de Utilizadores e Senhas do MySQL
- 4.4.3. Quando as Alterações nos Privilégios tem Efeito
- 4.4.4. Configurando os Privilégios Iniciais do MySQL
- 4.4.5. Adicionando Novos Utilizadores ao MySQL
- 4.4.6. Deletando Utilizadores do MySQL
- 4.4.7. Limitando os Recursos dos Utilizadores
- 4.4.8. Configurando Senhas
- 4.4.9. Mantendo Sua Senha Segura
- 4.4.10. Usando Conexões Seguras
- 4.5. Prevenção de Disastres e Recuperação
- 4.5.1. Backups dos Bancos de Dados
- 4.5.2. Sintaxe de
BACKUP TABLE - 4.5.3. Sintaxe de
RESTORE TABLE - 4.5.4. Sintaxe de
CHECK TABLE - 4.5.5. Sintaxe do
REPAIR TABLE - 4.5.6. Utilizando
myisamchk para Manutenção de Tabelas e Recuperação em Caso de Falhas - 4.5.7. Configurando um Regime de Manutenção das Tabelas
- 4.5.8. Obtendo Informações sobre as Tabelas
- 4.6. Adiministração do Banco de Dados e Referência de Linguagem
- 4.6.1. Sintaxe de
OPTIMIZE TABLE - 4.6.2. Sintaxe de
ANALYZE TABLE - 4.6.3. Sintaxe de
CHECKSUM TABLE - 4.6.4. Sintaxe de
FLUSH - 4.6.5. Sintaxe de
RESET - 4.6.6. Sintaxe de
PURGE MASTER LOGS - 4.6.7. Sintaxe de
KILL - 4.6.8. Sintaxe de
SHOW
- 4.7. Localização do MySQL e Utilização Internacional
- 4.7.1. O Conjunto de Caracteres Utilizado para Dados e Ordenação
- 4.7.2. Mensagens de Erros em Outras Línguas
- 4.7.3. Adicionando um Novo Conjunto de Caracteres
- 4.7.4. Os Vetores de Definições de Caracteres
- 4.7.5. Suporte à Ordenação de Strings
- 4.7.6. Suporte à Caracteres Multi-byte
- 4.7.7. Problemas com Conjuntos de Caracteres
- 4.8. Utilitários e Scripts do Lado do Servidor MySQL
- 4.8.1. Visão Geral dos Scripts e Utilitários do Lado Servidor
- 4.8.2.
mysqld-safe, o wrapper do mysqld - 4.8.3.
mysqld_multi, programa para gerenciar múltiplos servidores MySQL - 4.8.4.
myisampack, O Gerador de Tabelas Compactadas de Somente Leitura do MySQL - 4.8.5.
mysqld-max, om servidor mysqld extendido
- 4.9. Utilitários e Scripts do Lado do Cliente MySQL
- 4.9.1. Visão Geral dos Utilitários e Scripts do Lado do Cliente
- 4.9.2.
mysql, A Ferramenta de Linha de Comando - 4.9.3.
mysqlcc, The MySQL Control Center - 4.9.4.
mysqladmin, Administrando um Servidor MySQL - 4.9.5.
mysqlbinlog, Executando as Consultas a Partir de um Log Binário - 4.9.6. Usando
mysqlcheck para Manutenção de Tabelas e Recuperação em Caso de Falhas - 4.9.7.
mysqldump, Descarregando a Estrutura de Tabelas e Dados - 4.9.8.
mysqlhotcopy, Copiando Bancos de Dados e Tabelas do MySQL - 4.9.9.
mysqlimport, Importando Dados de Arquivos Texto - 4.9.10.
mysqlshow, Exibindo Bancos de Dados, Tabelas e Colunas - 4.9.11.
mysql_config, Opções para compilação do cliente MySQL - 4.9.12.
perror, Explicando Códigos de Erros - 4.9.13. Como Executar Comandos SQL a Partir de um Arquivo Texto
- 4.10. Os Arquivos de Log do MySQL
- 4.10.1. O Log de Erros
- 4.10.2. O Log de Consultas
- 4.10.3. O Log de Atualizações
- 4.10.4. O Log Binário
- 4.10.5. O Log para Consultas Lentas
- 4.10.6. Manutenção do Log de Arquivo
- 4.11. Replicação no MySQL
- 4.11.1. Introdução
- 4.11.2. Visão Geral da Implementação da Replicação
- 4.11.3. Detalhes de Implementação da Replicação
- 4.11.4. Como Configurar a Replicação
- 4.11.5. Recursos de Replicação e Problemas Conhecidos
- 4.11.6. Opções de Inicialização da Replicação
- 4.11.7. Instruções SQL para Controle do Servidor Master
- 4.11.8. Instruções SQL para Controle do Servidor Slave
- 4.11.9. FAQ da Replicação
- 4.11.10. Problemas com Replicação
- 4.11.11. Relatando Problemas de Replicação
- 5. Otimização do MySQL
- 5.1. Visão Geral da Otimização
- 5.1.1. Limitações do Projeto MySQL/Trocas
- 5.1.2. Portabilidade
- 5.1.3. Para que Utilizamos o MySQL?
- 5.1.4. O Pacote de Benchmark do MySQL
- 5.1.5. Utilizando seus Próprios Benchmarks
- 5.2. Otimizando
SELECTs e Outras Consultas - 5.2.1. Sintaxe de
EXPLAIN (Obter informações sobre uma SELECT) - 5.2.2. Estimando o Desempenho de uma Consulta
- 5.2.3. Velocidade das Consultas que Utilizam
SELECT - 5.2.4. Como o MySQL Otimiza Cláusulas
WHERE - 5.2.5. Como o MySQL Otimiza
IS NULL - 5.2.6. Como o MySQL Otimiza Cláusulas
DISTINCT - 5.2.7. Como o MySQL Otimiza
LEFT JOIN e RIGHT JOIN - 5.2.8. Como o MySQL Otimiza Cláusulas
ORDER BY - 5.2.9. Como o MySQL Otimiza Cláusulas
LIMIT - 5.2.10. Performance das Consultas que Utilizam
INSERT - 5.2.11. Performance das Consultas que Utilizam
UPDATE - 5.2.12. Performance das Consultas que Utilizam
DELETE - 5.2.13. Mais Dicas sobre Otimizações
- 5.3. Detalhes sobre Locks
- 5.3.1. Como o MySQL Trava as Tabelas
- 5.3.2. Detalhes sobre Lock de Tabelas
- 5.4. Otimizando a Estrutura de Banco de Dados
- 5.4.1. Opções do Projeto
- 5.4.2. Deixando os Dados com o Menor Tamanho Possível
- 5.4.3. Como o MySQL Utiliza Índices
- 5.4.4. Índices de Colunas
- 5.4.5. Índices de Múltiplas Colunas
- 5.4.6. Como o MySQL Conta as Tabelas Abertas
- 5.4.7. Como o MySQL Abre e Fecha as Tabelas
- 5.4.8. Desvantagem em Criar um Número Grande de Tabelas no Mesmo Banco de Dados
- 5.5. Otimizando o Servidor MySQL
- 5.5.1. Sintonia dos Parâmetros em Tempo de Sistema/Compilação e na Inicialização
- 5.5.2. Parâmetros de Sintonia do Servidor
- 5.5.3. Como a Compilação e a Ligação Afetam a Velocidade do MySQL
- 5.5.4. Como o MySQL Utiliza a Memória
- 5.5.5. Como o MySQL Utiliza o DNS
- 5.5.6. Sintaxe de
SET
- 5.6. Detalhes de Disco
- 5.6.1. Utilizando Links Simbólicos
- 6. Referência de Linguagem do MySQL
- 6.1. Estrutura da Linguagem
- 6.1.1. Literais: Como Gravar Strings e Numerais
- 6.1.2. Nomes de Banco de dados, Tabela, Índice, Coluna e Alias
- 6.1.3. Caso Sensitivo nos Nomes
- 6.1.4. Variáveis de Utilizador
- 6.1.5. Variáveis de Sistema
- 6.1.6. Sintaxe de Comentários
- 6.1.7. Tratamento de Palavras Reservadas no MySQL
- 6.2. Tipos de Campos
- 6.2.1. Tipos Numéricos
- 6.2.2. Tipos de Data e Hora
- 6.2.3. Tipos String
- 6.2.4. Escolhendo o Tipo Correto para uma Coluna
- 6.2.5. Usando Tipos de Colunas de Outros Mecanismos de Banco de Dados
- 6.2.6. Exigências de Armazenamento dos Tipos de Coluna
- 6.3. Funções para Uso em Cláusulas
SELECT e WHERE - 6.3.1. Operadores e Funções de Tipos não Especificados
- 6.3.2. Funções String
- 6.3.3. Funções Numéricas
- 6.3.4. Funções de Data e Hora
- 6.3.5. Funções de Conversão
- 6.3.6. Outras Funções
- 6.3.7. Funções e Modificadores para Usar com Cláusulas
GROUP BY
- 6.4. Manipulação de Dados:
SELECT, INSERT, UPDATE e DELETE - 6.4.1. Sintaxe
SELECT - 6.4.2. Sintaxe de Subquery
- 6.4.3. Sintaxe
INSERT - 6.4.4. Sintaxe
UPDATE - 6.4.5. Sintaxe
DELETE - 6.4.6. Sintaxe
TRUNCATE - 6.4.7. Sintaxe
REPLACE - 6.4.8. Sintaxe
LOAD DATA INFILE - 6.4.9. Sintaxe
HANDLER - 6.4.10. Sintaxe
DO
- 6.5. Definição de Dados:
CREATE, DROP e ALTER - 6.5.1. Sintaxe
CREATE DATABASE - 6.5.2. Sintaxe
DROP DATABASE - 6.5.3. Sintaxe
CREATE TABLE - 6.5.4. Sintaxe
ALTER TABLE - 6.5.5. Sintaxe
RENAME TABLE - 6.5.6. Sintaxe
DROP TABLE - 6.5.7. Sintaxe
CREATE INDEX - 6.5.8. Sintaxe
DROP INDEX
- 6.6. Comandos Utilitários Básicos do Utilizador MySQL
- 6.6.1. Sintaxe
USE - 6.6.2. Sintaxe
DESCRIBE (Obtem Informações Sobre Colunas)
- 6.7. Comandos Transacionais e de Lock do MySQL
- 6.7.1. Sintaxe de
START TRANSACTION, COMMIT e ROLLBACK - 6.7.2. Instruções que Não Podem Ser Desfeitas
- 6.7.3. Instruções que Fazem um Commit Implicito
- 6.7.4. Sintaxe de
SAVEPOINT e ROLLBACK TO SAVEPOINT - 6.7.5. Sintaxe
LOCK TABLES e UNLOCK TABLES - 6.7.6. Sintaxe
SET TRANSACTION
- 6.8. Pesquisa Full-text no MySQL
- 6.8.1. Restrições Full-text
- 6.8.2. Ajuste Fino de Pesquisas Full-text no MySQL
- 6.8.3. TODO de Pesquisas Full-text
- 6.9. Cache de Consultas do MySQL
- 6.9.1. Como a Cache de Consultas Opera
- 6.9.2. Configuração da Cache de Consultas
- 6.9.3. Opções da Cache de Consultas na
SELECT - 6.9.4. Estado e Manutenção da Cache de Consultas
- 7. Tipos de Tabela do MySQL
- 7.1. Tabelas
MyISAM - 7.1.1. Espaço Necessário para Chaves
- 7.1.2. Formatos de Tabelas
MyISAM - 7.1.3. Problemas com Tabelas
MyISAM
- 7.2. Tabelas
MERGE - 7.2.1. Problemas com Tabelas
MERGE
- 7.3. Tabelas
ISAM - 7.4. Tabelas
HEAP - 7.5. Tabelas
InnoDB - 7.5.1. Visão Geral de Tabelas InnoDB
- 7.5.2. InnoDB no MySQL Versão 3.23
- 7.5.3. Opções de Inicialização do InnoDB
- 7.5.4. Criando Tablespaces no InnoDB
- 7.5.5. Criando Tabelas InnoDB
- 7.5.6. Adicionando e Removendo Arquivos de Dados e Log do InnoDB
- 7.5.7. Fazendo Backup e Recuperando um Banco de Dados InnoDB
- 7.5.8. Movendo um Banco de Dados InnoDB para Outra Máquina
- 7.5.9. Modelo Transacional do InnoDB
- 7.5.10. Dicas de Ajuste de Desempenho
- 7.5.11. Implementação de Multi-versioning
- 7.5.12. Estrutura de Tabelas e Índices
- 7.5.13. Gerenciamento do Espaço de Arquivos e E/S de Disco
- 7.5.14. Tratando Erros
- 7.5.15. Restrições em Tabelas InnoDB
- 7.5.16. Histórico de Alterações do InnoDB
- 7.5.17. Informações de Contato do
InnoDB
- 7.6. Tabelas
BDB ou BerkeleyDB - 7.6.1. Visão Geral de Tabelas
BDB - 7.6.2. Instalando
BDB - 7.6.3. Opções de Inicialização do
BDB - 7.6.4. Características de Tabelas
BDB: - 7.6.5. Itens a serem corrigidos no
BDB num futuro próximo: - 7.6.6. Sistemas operacionais suportados pelo
BDB - 7.6.7. Restrições em Tabelas
BDB - 7.6.8. Erros Que Podem Ocorrer Usando Tabelas
BDB
- 8. Introdução ao MaxDB
- 8.1. Historia do MaxDB
- 8.2. Licenciamento e Suporte
- 8.3. Conceitos Básicos do MaxDB
- 8.4. Diferenças de Recursos entre o MaxDB e o MySQL
- 8.5. Interoperability Features between MaxDB and MySQL
- 8.6. Links Relacionados ao MaxDB
- 8.7. Palavras Reservadas no MaxDB
- 9. Conjunto de Caracteres Nacionais e Unicode
- 9.1. Conjuntos de Caracteres e Collations em Geral
- 9.2. Conjunto de Caracteres e Collations no MySQL
- 9.3. Determinando o Conjunto de Caracteres e Collation Padrões
- 9.3.1. Conjunto de Caracteres e Collations do Servidor
- 9.3.2. Conjunto de Caracteres e Collation de Banco de Dados
- 9.3.3. O Conjunto de Caracteres e Collations de Tabela
- 9.3.4. Conjunto de Caracteres e Collation de Colunas
- 9.3.5. Exemplos de Atribuições de Conjuntos de Caracteres e Collation
- 9.3.6. Conjunto de Caracteres e Collation de Conexão
- 9.3.7. Conjunto de Caracteres e Collation de Caracter de String Literal
- 9.3.8. Cláusula
COLLATE em Várias Partes de uma Consulta SQL - 9.3.9. Precedência da Cláusula
COLLATE - 9.3.10. Operador
BINARY - 9.3.11. Alguns Casos Especiais Onde a Determinação da Collation e Trabalhosa
- 9.3.12. Collations Devem Ser para o Conjunto de Caracteres Certo
- 9.3.13. Um exemplo do Efeito da Collation
- 9.4. Operações Afetadas pelo Suporte a Conjunto de Caracteres
- 9.4.1. Strings de Resultados
- 9.4.2.
CONVERT() - 9.4.3.
CAST() - 9.4.4.
SHOW CHARACTER SET - 9.4.5.
SHOW COLLATION - 9.4.6.
SHOW CREATE DATABASE - 9.4.7.
SHOW FULL COLUMNS
- 9.5. Suporte Unicode
- 9.6. UTF8 para Metdados
- 9.7. Compatibilidade com Outros SGBDs
- 9.8. Novo Formato do Arquivo de Configuração do Conjunto de Caracteres
- 9.9. Conjunto de Caracteres Nacional
- 9.10. Atualizando para o MySQL 4.0
- 9.10.1. Conjunto de Caracteres do MySQL e o Par/Conjunto de Caracter/Collation Correspondente do MySQL 4.1
- 9.11. Os conjuntos de Caracteres e Collations que o MySQL Suporta
- 9.11.1. O Conjunto de Caracteres Unicode
- 9.11.2. Conjunto de Caracteres para Plataformas Específicas
- 9.11.3. Conjunto de Caracteres do Sul da Europa e Oriente Médio
- 9.11.4. Os Conjuntos de Caracteres Asiáticos
- 9.11.5. Os Conjuntos de Caracteres Bálticos
- 9.11.6. Os Conjuntos de Caracteres Cirílicos
- 9.11.7. O Conjunto de Caracteres da Europa Central
- 9.11.8. Os Conjuntos de Caracteres da Europa Ocidental
- 10. Extensões Espacias em MySQL
- 10.1. Introdução
- 10.2. O Modelo Geomátrico OpenGIS
- 10.2.1. A Hierarquia da Classe
Geometry - 10.2.2. Classe
Geometry - 10.2.3. Classe
Point - 10.2.4. Classe
Curve - 10.2.5. Classe
LineString - 10.2.6. Classe
Surface - 10.2.7. Classe
Polygon - 10.2.8. Classe
GeometryCollection - 10.2.9. Classe
MultiPoint - 10.2.10. Classe
MultiCurve - 10.2.11. Classe
MultiLineString (Multi Linhas) - 10.2.12. Classe
MultiSurface (Multi Superfícies) - 10.2.13. Classe
MultiPolygon (Multi Polígonos)
- 10.3. Formatos de Dados Espaciais Suportados
- 10.3.1. Formato Well-Known Text (WKT)
- 10.3.2. Formato Well-Known Binary (WKB)
- 10.4. Criando um Banco de Dados MySQL Habilitado Espacialmente
- 10.4.1. Tipos de Dados Espaciais do MySQL
- 10.4.2. Criando Valores Espaciais
- 10.4.3. Criando Colunas Espaciais
- 10.4.4. Entrando com Dados em Colunas Espaciais
- 10.4.5. Buscando Dados Espaciais
- 10.5. Analisando Informação Espacial
- 10.5.1. Funções Para Converter Geometrias Entre Formatos Diferentes
- 10.5.2. Funções de Análise das Propriedades de
Geometry - 10.5.3. Funções Que Criam Novas Geometrias de Outras Existentes
- 10.5.4. Funções Para Testar Relações Espaciais Entre Objetos Geométricos
- 10.5.5. Relações de Retângulo de Limite Mínimo (Minimal Bounding Rectangles - MBR) em Geometrias
- 10.5.6. Funções que Testam Relacionamentos Espaciais Entre Geometrias
- 10.6. Otimizando Análises Espaciais
- 10.6.1. Criando Índices Espaciais
- 10.6.2. Usando Índice Espacial
- 10.7. Compatibilidade e Conformidade com o MySQL
- 10.7.1. Recursos GIS Que Ainda Não Estão Implementados
- 11. Stored Procedures e Funções
- 11.1. Sintaxe de Stored Procedure
- 11.1.1. Manutenção de Stored Procedures
- 11.1.2.
SHOW PROCEDURE STATUS e SHOW FUNCTION STATUS - 11.1.3.
CALL - 11.1.4.
BEGIN ... END Compound Statement - 11.1.5. Instrução
DECLARE - 11.1.6. Variables in Stored Procedures
- 11.1.7. Condições e Handlers
- 11.1.8. Cursors
- 11.1.9. Flow Control Constructs
- 12. Ferramentas de Clientes e APIs do MySQL
- 12.1. API C do MySQL
- 12.1.1. Tipos de Dados da API C
- 12.1.2. Visão Geral das Função da API C
- 12.1.3. Descrição das Funções da API C
- 12.1.4. Instruções Preparadas da API C
- 12.1.5. Tipos de Dados de Instruções Preparadas da API C
- 12.1.6. Visão Geral das Funções de Instruções Preparadas da API C
- 12.1.7. Descrição das Funções de Instrução Preparada da API C
- 12.1.8. Tratando a Execução de Múltiplas Consultas na API C
- 12.1.9. Manipulando Valores de Data e Hora na API C
- 12.1.10. Descrição das Funções de Threads da API C
- 12.1.11. Descrição das Funções do Servidor Embutido da API C
- 12.1.12. Dúvidas e problemas comuns ao utilzar a API C
- 12.1.13. Construindo Programas Clientes
- 12.1.14. Como Fazer um Cliente em Threads
- 12.1.15. libmysqld, a Biblioteca do Servidor Embutido MySQL
- 12.2. Suporte ODBC ao MySQL
- 12.2.1. Como Instalar o MyODBC
- 12.2.2. Como Preencher os Vários Campos no Programa de Administração do ODBC
- 12.2.3. Parâmetros de Conexão do MyODBC
- 12.2.4. Como Relatar Problemas com o MyODBC
- 12.2.5. Programas que Funcionam com MyODBC
- 12.2.6. Como Obter o Valor de uma Coluna
AUTO_INCREMENT no ODBC - 12.2.7. Relatando Problemas com MyODBC
- 12.3. Conectividade Java (JDBC) ao MySQL
- 12.4. API PHP do MySQL
- 12.4.1. Problemas Comuns com MySQL e PHP
- 12.5. API Perl do MySQL
- 12.5.1.
DBI com DBD::mysql - 12.5.2. A interface
DBI - 12.5.3. Mais Informações
DBI/DBD
- 12.6. API C++ do MySQL
- 12.6.1. Borland C++
- 12.7. API Python do MySQL
- 12.8. API Tcl do MySQL
- 12.9. Eiffel Wrapper do MySQL
- 13. Tratamento de Erros no MySQL
- 13.1. Erros Retornados
- 14. Estendendo o MySQL
- 14.1. MySQL Internals
- 14.1.1. Threads MySQL
- 14.1.2. Pacotes de Teste do MySQL
- 14.2. Adicionando Novas Funções ao MySQL
- 14.2.1. Sintaxe
CREATE FUNCTION/DROP FUNCTION - 14.2.2. Adicionando Novas Funções Definidas Por Utilizador
- 14.2.3. Adicionando uma Nova Função Nativa
- 14.3. Adicionado Novos Procedimentos ao MySQL
- 14.3.1. Análise de Procedimento
- 14.3.2. Escrevendo um Procedimento
- A. Problemas e Erros Comuns
- A.1. Como Determinar o Que Está Causando Problemas
- A.2. Erros Comuns Usando o MySQL
- A.2.1. Erro:
Access Denied - A.2.2. Erro:
MySQL server has gone away - A.2.3. Erro:
Can't connect to [local] MySQL server - A.2.4. Erro:
Client does not support authentication protocol - A.2.5. Erro:
Host '...' is blocked - A.2.6. Erro:
Too many connections - A.2.7. Erro:
Some non-transactional changed tables couldn't be rolled back - A.2.8. Erro:
Out of memory - A.2.9. Erro:
Packet too large - A.2.10. Erros de Comunicação / Comunicação Abortada
- A.2.11. Erro:
The table is full - A.2.12. Erro:
Can't create/write to file - A.2.13. Erro no Cliente:
Commands out of sync - A.2.14. Erro:
Ignoring user - A.2.15. Erro:
Table 'xxx' doesn't exist - A.2.16. Erro:
Can't initialize character set xxx - A.2.17. Arquivo Não Encontrado
- A.3. Assuntos Relacionados a Instalação
- A.3.1. Problemas de Ligação com a Biblioteca do Cliente MySQL
- A.3.2. Como Executar o MySQL Como Um Utilizador Normal
- A.3.3. Problemas com Permissões de Arquivos
- A.4. Assuntos Relacionados a Administração
- A.4.1. O Que Fazer Se o MySQL Continua Falhando
- A.4.2. Como Recuperar uma Senha de Root Esquecida
- A.4.3. Como o MySQL Trata de Discos Sem Espaço
- A.4.4. Onde o MySQL Armazena Arquivos Temporários
- A.4.5. Como Proteger ou AlterarHow to Protect or Change the MySQL Socket File
/tmp/mysql.sock - A.4.6. Problemas Com Fuso Horário
- A.5. Assuntos Relacionados a Consultas
- A.5.1. Caso-Sensitivito em Pesquisas
- A.5.2. Problemas Usando Colunas
DATE - A.5.3. Problemas com Valores
NULL - A.5.4. Problemas com
alias - A.5.5. Deletando Linhas de Tabelas Relacionadas
- A.5.6. Resolvendo Problemas Com Registros Não Encontrados
- A.5.7. Problemas com Comparação de Ponto Flutuante
- A.6. Assuntos Relacionados ao Otimizador
- A.6.1. Camo evitar o varredura da tabela,,,
- A.7. Assuntos Relacionados a Definições de Tabelas
- A.7.1. Problemas com
ALTER TABLE. - A.7.2. Como Alterar a Ordem das Colunas em Uma Tabela
- A.7.3. Problemas com TEMPORARY TABLE
- B. Contribuição de Programas
- B.1. APIs
- B.2. Conversores
- B.3. Utilitários
- C. Colaboradores do MySQL
- C.1. Desenvolvedores do MySQL
- C.2. Coolaboradores do MySQL
- C.3. Responsáveis pela Documentação e Tradução
- C.4. Bibliotecas usadas e incluidas com o MySQL
- C.5. Pacotes que suportam o MySQL
- C.6. Ferramentas que são usadas para criar o MySQL
- C.7. Responsáveis pelo Suporte do MySQL
- D. Histórico de Alterações do MySQL
- D.1. Alterações na distribuição 5.0.0 (Development)
- D.2. Alterações na distribuição 4.1.x (Alpha)
- D.2.1. Alterações na distribuição 4.1.2 (not released yet)
- D.2.2. Alterações na distribuição 4.1.1 (01 de Dez de 2003)
- D.2.3. Alterações na distribuição 4.1.0 (03 Apr 2003: Alpha)
- D.3. Alterações na distribuição 4.0.x (Production)
- D.3.1. Alterações na distribuição 4.0.17 (not released yet)
- D.3.2. Alterações na distribuição 4.0.16 (17 Out 2003)
- D.3.3. Alterações na distribuição 4.0.15 (03 Sep 2003)
- D.3.4. Alterações na distribuição 4.0.14 (18 Jul 2003)
- D.3.5. Alterações na distribuição 4.0.13 (16 May 2003)
- D.3.6. Alterações na distribuição 4.0.12 (15 Mar 2003: Production)
- D.3.7. Alterações na distribuição 4.0.11 (20 Feb 2003)
- D.3.8. Alterações na distribuição 4.0.10 (29 Jan 2003)
- D.3.9. Alterações na distribuição 4.0.9 (09 Jan 2003)
- D.3.10. Alterações na distribuição 4.0.8 (07 Jan 2003)
- D.3.11. Alterações na distribuição 4.0.7 (20 Dec 2002)
- D.3.12. Alterações na distribuição 4.0.6 (14 Dec 2002: Gamma)
- D.3.13. Alterações na distribuição 4.0.5 (13 Nov 2002)
- D.3.14. Alterações na distribuição 4.0.4 (29 Sep 2002)
- D.3.15. Alterações na distribuição 4.0.3 (26 Aug 2002: Beta)
- D.3.16. Alterações na distribuição 4.0.2 (01 Jul 2002)
- D.3.17. Alterações na distribuição 4.0.1 (23 Dec 2001)
- D.3.18. Alterações na distribuição 4.0.0 (Oct 2001: Alpha)
- D.4. Alterações na distribuição 3.23.x (Recent; still supported)
- D.4.1. Alterações na distribuição 3.23.59 (not released yet)
- D.4.2. Alterações na distribuição 3.23.58 (11 Sep 2003)
- D.4.3. Alterações na distribuição 3.23.57 (06 Jun 2003)
- D.4.4. Alterações na distribuição 3.23.56 (13 Mar 2003)
- D.4.5. Alterações na distribuição 3.23.55 (23 Jan 2003)
- D.4.6. Alterações na distribuição 3.23.54 (05 Dec 2002)
- D.4.7. Alterações na distribuição 3.23.53 (09 Oct 2002)
- D.4.8. Alterações na distribuição 3.23.52 (14 Aug 2002)
- D.4.9. Alterações na distribuição 3.23.51 (31 May 2002)
- D.4.10. Alterações na distribuição 3.23.50 (21 Apr 2002)
- D.4.11. Alterações na distribuição 3.23.49
- D.4.12. Alterações na distribuição 3.23.48 (07 Feb 2002)
- D.4.13. Alterações na distribuição 3.23.47 (27 Dec 2001)
- D.4.14. Alterações na distribuição 3.23.46 (29 Nov 2001)
- D.4.15. Alterações na distribuição 3.23.45 (22 Nov 2001)
- D.4.16. Alterações na distribuição 3.23.44 (31 Oct 2001)
- D.4.17. Alterações na distribuição 3.23.43 (04 Oct 2001)
- D.4.18. Alterações na distribuição 3.23.42 (08 Sep 2001)
- D.4.19. Alterações na distribuição 3.23.41 (11 Aug 2001)
- D.4.20. Alterações na distribuição 3.23.40
- D.4.21. Alterações na distribuição 3.23.39 (12 Jun 2001)
- D.4.22. Alterações na distribuição 3.23.38 (09 May 2001)
- D.4.23. Alterações na distribuição 3.23.37 (17 Apr 2001)
- D.4.24. Alterações na distribuição 3.23.36 (27 Mar 2001)
- D.4.25. Alterações na distribuição 3.23.35 (15 Mar 2001)
- D.4.26. Alterações na distribuição 3.23.34a
- D.4.27. Alterações na distribuição 3.23.34 (10 Mar 2001)
- D.4.28. Alterações na distribuição 3.23.33 (09 Feb 2001)
- D.4.29. Alterações na distribuição 3.23.32 (22 Jan 2001: Production)
- D.4.30. Alterações na distribuição 3.23.31 (17 Jan 2001)
- D.4.31. Alterações na distribuição 3.23.30 (04 Jan 2001)
- D.4.32. Alterações na distribuição 3.23.29 (16 Dec 2000)
- D.4.33. Alterações na distribuição 3.23.28 (22 Nov 2000: Gamma)
- D.4.34. Alterações na distribuição 3.23.27 (24 Oct 2000)
- D.4.35. Alterações na distribuição 3.23.26 (18 Oct 2000)
- D.4.36. Alterações na distribuição 3.23.25 (29 Sep 2000)
- D.4.37. Alterações na distribuição 3.23.24 (08 Sep 2000)
- D.4.38. Alterações na distribuição 3.23.23 (01 Sep 2000)
- D.4.39. Alterações na distribuição 3.23.22 (31 Jul 2000)
- D.4.40. Alterações na distribuição 3.23.21
- D.4.41. Alterações na distribuição 3.23.20
- D.4.42. Alterações na distribuição 3.23.19
- D.4.43. Alterações na distribuição 3.23.18
- D.4.44. Alterações na distribuição 3.23.17
- D.4.45. Alterações na distribuição 3.23.16
- D.4.46. Alterações na distribuição 3.23.15 (May 2000: Beta)
- D.4.47. Alterações na distribuição 3.23.14
- D.4.48. Alterações na distribuição 3.23.13
- D.4.49. Alterações na distribuição 3.23.12 (07 Mar 2000)
- D.4.50. Alterações na distribuição 3.23.11
- D.4.51. Alterações na distribuição 3.23.10
- D.4.52. Alterações na distribuição 3.23.9
- D.4.53. Alterações na distribuição 3.23.8 (02 Jan 2000)
- D.4.54. Alterações na distribuição 3.23.7 (10 Dec 1999)
- D.4.55. Alterações na distribuição 3.23.6
- D.4.56. Alterações na distribuição 3.23.5 (20 Oct 1999)
- D.4.57. Alterações na distribuição 3.23.4 (28 Sep 1999)
- D.4.58. Alterações na distribuição 3.23.3
- D.4.59. Alterações na distribuição 3.23.2 (09 Aug 1999)
- D.4.60. Alterações na distribuição 3.23.1
- D.4.61. Alterações na distribuição 3.23.0 (05 Aug 1999: Alpha)
- D.5. Alterações na distribuição 3.22.x (Old; discontinued)
- D.5.1. Alterações na distribuição 3.22.35
- D.5.2. Alterações na distribuição 3.22.34
- D.5.3. Alterações na distribuição 3.22.33
- D.5.4. Alterações na distribuição 3.22.32 (14 Feb 2000)
- D.5.5. Alterações na distribuição 3.22.31
- D.5.6. Alterações na distribuição 3.22.30
- D.5.7. Alterações na distribuição 3.22.29 (02 Jan 2000)
- D.5.8. Alterações na distribuição 3.22.28 (20 Oct 1999)
- D.5.9. Alterações na distribuição 3.22.27
- D.5.10. Alterações na distribuição 3.22.26 (16 Sep 1999)
- D.5.11. Alterações na distribuição 3.22.25
- D.5.12. Alterações na distribuição 3.22.24 (05 Jul 1999)
- D.5.13. Alterações na distribuição 3.22.23 (08 Jun 1999)
- D.5.14. Alterações na distribuição 3.22.22 (30 Apr 1999)
- D.5.15. Alterações na distribuição 3.22.21
- D.5.16. Alterações na distribuição 3.22.20 (18 Mar 1999)
- D.5.17. Alterações na distribuição 3.22.19 (Mar 1999: Production)
- D.5.18. Alterações na distribuição 3.22.18
- D.5.19. Alterações na distribuição 3.22.17
- D.5.20. Alterações na distribuição 3.22.16 (Feb 1999: Gamma)
- D.5.21. Alterações na distribuição 3.22.15
- D.5.22. Alterações na distribuição 3.22.14
- D.5.23. Alterações na distribuição 3.22.13
- D.5.24. Alterações na distribuição 3.22.12
- D.5.25. Alterações na distribuição 3.22.11
- D.5.26. Alterações na distribuição 3.22.10
- D.5.27. Alterações na distribuição 3.22.9
- D.5.28. Alterações na distribuição 3.22.8
- D.5.29. Alterações na distribuição 3.22.7 (Sep 1998: Beta)
- D.5.30. Alterações na distribuição 3.22.6
- D.5.31. Alterações na distribuição 3.22.5
- D.5.32. Alterações na distribuição 3.22.4
- D.5.33. Alterações na distribuição 3.22.3
- D.5.34. Alterações na distribuição 3.22.2
- D.5.35. Alterações na distribuição 3.22.1 (Jun 1998: Alpha)
- D.5.36. Alterações na distribuição 3.22.0
- D.6. Alterações na distribuição 3.21.x
- D.6.1. Alterações na distribuição 3.21.33
- D.6.2. Alterações na distribuição 3.21.32
- D.6.3. Alterações na distribuição 3.21.31
- D.6.4. Alterações na distribuição 3.21.30
- D.6.5. Alterações na distribuição 3.21.29
- D.6.6. Alterações na distribuição 3.21.28
- D.6.7. Alterações na distribuição 3.21.27
- D.6.8. Alterações na distribuição 3.21.26
- D.6.9. Alterações na distribuição 3.21.25
- D.6.10. Alterações na distribuição 3.21.24
- D.6.11. Alterações na distribuição 3.21.23
- D.6.12. Alterações na distribuição 3.21.22
- D.6.13. Alterações na distribuição 3.21.21a
- D.6.14. Alterações na distribuição 3.21.21
- D.6.15. Alterações na distribuição 3.21.20
- D.6.16. Alterações na distribuição 3.21.19
- D.6.17. Alterações na distribuição 3.21.18
- D.6.18. Alterações na distribuição 3.21.17
- D.6.19. Alterações na distribuição 3.21.16
- D.6.20. Alterações na distribuição 3.21.15
- D.6.21. Alterações na distribuição 3.21.14b
- D.6.22. Alterações na distribuição 3.21.14a
- D.6.23. Alterações na distribuição 3.21.13
- D.6.24. Alterações na distribuição 3.21.12
- D.6.25. Alterações na distribuição 3.21.11
- D.6.26. Alterações na distribuição 3.21.10
- D.6.27. Alterações na distribuição 3.21.9
- D.6.28. Alterações na distribuição 3.21.8
- D.6.29. Alterações na distribuição 3.21.7
- D.6.30. Alterações na distribuição 3.21.6
- D.6.31. Alterações na distribuição 3.21.5
- D.6.32. Alterações na distribuição 3.21.4
- D.6.33. Alterações na distribuição 3.21.3
- D.6.34. Alterações na distribuição 3.21.2
- D.6.35. Alterações na distribuição 3.21.0
- D.7. Alterações na distribuição 3.20.x
- D.7.1. Alterações na distribuição 3.20.18
- D.7.2. Alterações na distribuição 3.20.17
- D.7.3. Alterações na distribuição 3.20.16
- D.7.4. Alterações na distribuição 3.20.15
- D.7.5. Alterações na distribuição 3.20.14
- D.7.6. Alterações na distribuição 3.20.13
- D.7.7. Alterações na distribuição 3.20.11
- D.7.8. Alterações na distribuição 3.20.10
- D.7.9. Alterações na distribuição 3.20.9
- D.7.10. Alterações na distribuição 3.20.8
- D.7.11. Alterações na distribuição 3.20.7
- D.7.12. Alterações na distribuição 3.20.6
- D.7.13. Alterações na distribuição 3.20.3
- D.7.14. Alterações na distribuição 3.20.0
- D.8. Alterações na distribuição 3.19.x
- D.8.1. Alterações na distribuição 3.19.5
- D.8.2. Alterações na distribuição 3.19.4
- D.8.3. Alterações na distribuição 3.19.3
- E. Portando para Outros Sistemas
- E.1. Depurando um Servidor MySQL
- E.1.1. Compilando o MYSQL para Depuração
- E.1.2. Criando Arquivos Trace (Rastreamento)
- E.1.3. Depurando o mysqld no gdb
- E.1.4. Usando Stack Trace
- E.1.5. Usando Arquivos de Log para Encontrar a Causa dos Erros no mysqld
- E.1.6. Fazendo um Caso de Teste Se Ocorre um Corrompimento de Tabela
- E.2. Depurando um cliente MySQL.
- E.3. O Pacote DBUG
- E.4. Métodos de Lock
- E.5. Comentários Sobre Threads RTS
- E.6. Diferença en Entre Alguns Pacotes de Threads
- F. Variáveis de Ambientes do MySQL
- G. Sintaxe de Expressões Regulares do MySQL
- H. GPL - Licença Pública Geral do GNU
|