Faculdade Pitá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 Downloads MySQL 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 multiversionamento é 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 multiversionamento 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 servidor Porta 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. Indica se o processo está sendo executado ou está aguardando Encerra todos os Encerra todos os processos em processos em execução da execução de todas as sessões do respectivo respectiva sessão usuário Executa em uma Bloqueia todas as única transação. tabelas backup. Criardo uma copia Assegura que as tabelas consistente do InnoDB estejamSimilar em umaoestado dados. Online Backup. Mas consistente. também armazena o Recomendado para Bloqueia a tabela arquivo binário de MyISAM. independentemente. log. Possíveis cópias inconsistentes. MySQL MySQL MySQL Executa em uma Bloqueia todas as única transação. tabelas backup. Criardo uma copia Assegura que as tabelas consistente do InnoDB estejamSimilar em umaoestado dados. Online Backup. Mas consistente. também armazena o Recomendado para Bloqueia a tabela arquivo binário de MyISAM. independentemente. log. Possíveis cópias inconsistentes. MySQL MySQL MySQL MySQL MySQL