FaculdadeFaculdadePitágorasPitágoras
Curso Superior de Tecnologia: Banco de Dados
Disciplina: Sistemas Gerenciadores de Banco de Dados
Prof.: Fernando Hadad Zaidan
MySQL
Unidade 5
Créditos dos Slides: Prof. Rogério Rocha – Adaptação: Prof. Fernando Zaidan
MySQL
• SGBD MySQL– É um dos mais populares SGBDs de código aberto.– É executado em mais de 20 plataformas, incluindo
Linux, Windows, OS/X, HP-UX, AIX, Netware.
• Licença MySQL– MySQL Enterprise, paga-se anualmente pelos
serviços de acordo com o plano escolhido.– https://shop.mysql.com/enterprise/ - site com os
valores.
MySQL
• Licença MySQL– É gratuito, utiliza a licença GNU (General Public
Licence).– Ressalvas
• o produto não pode ser comercializado junto ao sistema desenvolvido.
• caso se deseje desenvolver um novo produto a partir do código fonte do mysql e distribuí-lo como de sua propriedade, deve-se adquirir uma licença.
MySQL – Instalação
http://dev.mysql.com/downloads/
MySQL DownloadsMySQL Community Server(Current Generally Available Release: 5.1.48)
MySQL Community Server is a freely downloadable version of the world's most popular open source database that is supported by an active community of open source developers and enthusiasts.
Download
• Arquitetura MySQL Server
1ª Camada - Parse e Otimização
2ª Camada – Engenharia de Armazenamento
• Engenharias de Armazenamento
– Gerenciam diretamente os arquivos no disco.
– Cada tabela que é criada utilizando a Engenharia
de Armazenamento INNODB, armazena no
diretório do banco de dados, sob o diretório de
dados (datadir), um arquivo .frm, este por sua vez
armazena a estrutura da tabela.
• Engenharias de Armazenamento
– Os dados e os índices ficam localizados em
um tablespace sobre o datadir.
– O INNODB tem um tablespace padrão de
nome ibdata que é utilizado para armazenar
índices e dados de todas as tabelas de todos os
bancos de dados contidos em um servidor MySQL.
• InnoDB - Características– Todas as tabelas INNODB são representadas em disco
por um arquivo de extensão .frm no diretório da banco de dados e armazena dados e índices em tablespaces.
– Tais tablespaces são padronizadas e são localizadas no diretório data ou datadir.
– Também por padrão, todas as tabelas INNODB de um servidor compartilham um mesmo tablespace.
– O INNODB ainda nos permite configurar que cada tabela tenha sua própria tablespace, evitando problemas com arquivos grandes.
• InnoDB – Características– INNODB dá suporte à transações e é totalmente
adequada às propriedades ACID. O multi-versionamento é utilizado para garantir o isolamento de uma transação em relação à outra;
– INNODB tem multi-versionamento e bloqueio em nível de linha, ou seja, caso uma transação A esteja atualizando uma determinada linha de uma tabela, esta será bloqueada até que haja um COMMIT ou ROLLBACK. O multi-versionamento provê à transação uma visão própria do estado do banco de dados, combinado com o bloqueio em nível de linha, provê o mínimo possível de contenções;
• InnoDB – Características– INNODB tem suporte a integridade referencial, ou
seja, tem suporte a criação de FOREIGN KEY, incluindo cascateamentos em DELETE e UPDATE. As propriedades de integridade referencial suportados pelo INNODB são: { RESTRICT | CASCADE | SET NULL | NO ACTION }
– O tablespace do INNODB é portável e pode ser copiado diretamente para outro servidor, juntamente com os arquivos .frm. Alguns pontos devem ser analisados com cuidado para que não haja problemas com o backup físico do banco de dados
• Engenharias: no SQL show engines;
• Administração do MySQL– Através dos arquivos de configuração pode-se alterar as propriedades
do SGBD.
• Administração do MySQL– my.ini
• Ferramenta: MySQL Administrator– Ferramenta gráfica para realizar operações
administrativas como:• Backup e Restore,• Configuração,• Monitoramento,• Inicialização e Finalização do serviço,• Gerenciar usuários,• Entre outras finalidades.
– Possui gráfico com demonstrativo da performance do SGBD.
• MySQL Administrator– Instalação
• Conexão
Nome Conexão a ser criada
Nome ou IP do servidorPorta configurada na
instalação
Consultas para execução em 1 hora.
Atualizações para execução em 1 hora.
Conexões ao servidor em 1 hora.
Conexões Simultâneas.
Com o privilégio PROCESS o usuário visualiza as conexões.
Com o privilégio SUPER o usuário pode finalizar as conexões, inclusive a dele mesmo.
Encerra todos os processos em execução da
respectiva sessão
Encerra todos os processos em
execução de todas as sessões do respectivo
usuário
Indica se o processo está sendo executado ou está aguardandoIndica se o processo está sendo executado ou está aguardando
Executa em uma única transação. Criar uma copia consistente do
dados.
Executa em uma única transação. Criar uma copia consistente do
dados.
Bloqueia todas as tabelas do backup.
Assegura que as tabelas estejam em um estado
consistente.Recomendado para
MyISAM.
Bloqueia todas as tabelas do backup.
Assegura que as tabelas estejam em um estado
consistente.Recomendado para
MyISAM.
Similar ao InnoDB Online Backup. Mas também armazena o
arquivo binário de log.
Similar ao InnoDB Online Backup. Mas também armazena o
arquivo binário de log.
Bloqueia a tabela independentemente.
Possíveis cópias inconsistentes.
Bloqueia a tabela independentemente.
Possíveis cópias inconsistentes.
MySQL
MySQL
MySQL
MySQL
Executa em uma única transação. Criar uma copia consistente do
dados.
Executa em uma única transação. Criar uma copia consistente do
dados.
Bloqueia todas as tabelas do backup.
Assegura que as tabelas estejam em um estado
consistente.Recomendado para
MyISAM.
Bloqueia todas as tabelas do backup.
Assegura que as tabelas estejam em um estado
consistente.Recomendado para
MyISAM.
Similar ao InnoDB Online Backup. Mas também armazena o
arquivo binário de log.
Similar ao InnoDB Online Backup. Mas também armazena o
arquivo binário de log.
Bloqueia a tabela independentemente.
Possíveis cópias inconsistentes.
Bloqueia a tabela independentemente.
Possíveis cópias inconsistentes.
MySQL
MySQL
MySQL
MySQL