INTRODUÇÃO
Esse
artigo visa mostrar alguns comandos uteis e essenciais para a
administração de um servidor de banco de dados MySQL.
DESENVOLVIMENTO
Logar no servidor de
banco de dados MySQL
Serve
para conectarmos ao servidor via programa cliente como a interface em
linha de comando que vem na instalação do servidor MySQL, driver
JDBC (linguagem Java), módulo MySQL dentro do PHP para poder fazer a
conexão com o servidor e outros clientes de diversas linguagens e
plataformas. Nesse caso, estamos supondo que o usuário tem o nome
“root” e senha “123456”. Observação: Esse comando fará o usuário entrar no ambiente em console do MySQL.
mysql -–user=root
--password=123456;
Mostrar todos os
databases
Serve
para mostrar todos os databases (banco de dados em si) do servidor de
banco de dados MySQL. Útil para verificar se um determinado database
está contido no servidor ou será necessário criá-lo.
show databases;
Criar um database
Serve
para criar um database no caso de não existir dentro do servidor
MySQL. Dentro desse database, estará contido todas as tabelas e
informações necessárias para configurar os relacionamentos e administrar esse database. Cada database é isolado do outro, de modo
que cada database tem o seu próprio conjunto de tabelas e outras
informações pertinentes.
create database
novo_database;
Selecionar um
database para uso.
Serve
para selecionar um database para a partir desse podermos manipular o
nosso banco de dados com comandos SQL como select, insert, update,
etc.
use nome_database;
Exportando banco de
dados
Serve
para fazer backup de um banco que está dentro do servidor de banco
de dados e que será inutilizado. O arquivo gerado, contém todos os
dados e as estruturas (tabelas, relacionamentos, etc) para poder ser
importando em outro servidor. Observação: Rodar esse comando fora do ambiente MySQL.
mysqldump -uroot
-psenha seu_database > Arquivo.sql;
Importando banco de
dados
Serve
para carregar o novo servidor de banco de dados com os dados e as
estruturas vindos de um banco de dados em um servidor antigo ou que
será descontinuado. Importante, o database informado no comando deve
existir no servidor destino (que receberá os dados). Nesse comando,
temos o uso do servidor de ip “127.0.0.1” que é o servidor
local, caso o servidor esteja localizado em outra máquina (host),
fornecer o ip apropriado. Além disso, temos o usuário “root” e
senha “123456”, com o database “meu_database” e o arquivo SQL
“Arquivo.sql” com todos os comandos necessários para refazer
todas as estruturas (tabelas, relacionamentos) e dados (registros,
linhas) do banco que foi exportado nesse arquivo. Observação: Rodar esse comando fora do ambiente MySQL.
mysql -h127.0.0.1
-uroot -p123456 meu_database < Arquivo.sql;
Verificando todos os
usuários cadastros no servidor
Serve
para verificar os usuários cadastrados no servidor. Lembrando que o
servidor MySQL usa a sua própria estrutura (servidor de banco de
dados) para se auto-administrar. Isso significa que existem tabelas
para administrar o próprio servidor. Da mesma maneira, outros
fornecedores como a Oracle, também usa o seu próprio banco de dados
para se auto-administrar também.
O MySQL
possui um database chamado “mysql” que contém todas as tabelas
de administração do servidor. E uma dessas tabelas, como a tabela
“user”, armazena todos os usuários que podem acessar o servidor,
pois toda a comunicação com servidor, envolve o uso de uma conta de
usuário/senha/roles. O termo “roles” está mais relacionado a
funcionalidades do servidor de banco de dados que o usuário tem
acesso ou não tem acesso.
use mysql;
select User from
user;
Criando usuário
para acessar o servidor
Serve
para termos um usuário com senha
para qualquer cliente poder-se conectar no servidor de banco de
dados. Cria o usuário 'meu_usuario' com senha '1' no servidor MySQL.
Lembrando de usar usuário root com privilégios suficientes para
essa tarefa, caso contrário, não podemos criar outros usuários.
Geralmente, esse usuário “root” é configurado na instalação
do servidor.
use mysql;
CREATE USER
'meu_usuario'@'%'
IDENTIFIED BY '1';
Dando privilégios
para o usuário acessar o servidor
Sem
privilégios, o usuário não poderá fazer nada no servidor, depois
da conexão (login).
No MySQL,
podemos segmentar os privilégios de acesso, de maneira que um
usuário pode executar determinados comandos como select, insert e
update e outros usuários pode criar tabelas e apagá-las, por
exemplo. Mas nesse artigo, vamos dar privilégios totais para fins
educativos e para testes de acesso. Depois disso, quando for criar
algum usuário, ai sim pode fazer a segmentação de privilégios,
dependendo de cada usuário em questão.
GRANT ALL PRIVILEGES
ON*.* TO 'meu_usuario'@'%' WITH GRANT OPTION;
CONCLUSÕES
Esse artigo mostrou
alguns comandos essenciais e que são muito usados na manipulação
de dados no MySQL. Frequentemente, teremos que fazer backup, migrar
servidor MySQL de uma máquina (host) para outra, etc.
REFERÊNCIAS