Importar Base direto no console (Mysql)

2 Comments

Acesse o prompt de comando e vá ao diretório onde está o arquivo mysql.exe
Em seguida acesse o banco de dados:
Por exemplo:

C:\mysql\bin>mysql -u root -p
Enter password ****
mysql> create database banco_de_dados
mysql> use banco_de_dados
mysql>source c:\pasta\pasta\pasta\banco.sql

Simples não!.

Permissões de usuários no MYSQL

10 Comments

Direitos de acesso no MySQL

O grant possui as seguintes opções de acesso:

* ALL/ALL PRIVILEGES – Simboliza todos os privilégios abaixo;
* ALTER – Permite alterar a estrutura de tabelas;
* ALTER ROUTINE – Permite alterar e excluir stored procedures/functions;
* CREATE – Permite criar banco de dados e tabelas;
* CREATE ROUTINE – Permite criar stored procedures/functions;
* CREATE TEMPORARY TABLES – Permite a criação de tabelas temporárias em expressões SQL que utilizam esse recurso;
* CREATE USER – Permite criar e gerenciar usuários;
* CREATE VIEW – Permite criar visões;
* DELETE – Permite excluir informações;
* DROP – Permite excluir estruturas (bases e tabelas);
* EVENT – Permite criar event schedulers;
* EXECUTE – Permite executar stored procedures;
* FILE – Permite ler e escrever arquivos no sistema;
* GRANT – Permite cadastrar seus privilégios para outros usuários;
* INDEX – Permite o gerenciamento de índices;
* INSERT – Permite inserir informações em tabelas;
* LOCK TABLES – Permite bloquear tabelas;
* PROCESS – Permite visualizar e finalizar processos do MySQL;
* RELOAD – Permite recarregar bancos de dados;
* REPLICATION CLIENT – Permite solicitar replicação;
* REPLICATION SLAVE – Permite replicar suas informações;
* SELECT – Permite consultas;
* SHOW DATABASES – Permite visualizar todas as estruturas dos bancos existentes;
* SHOW VIEW – Permite visualizar os códigos de criação de visões;
* SHUTDOWN – Permite desligar o servidor MySQL;
* SUPER – Permite configurar os dados do servidor MASTER (em caso de replicação);
* TRIGGER – Permite criar e gerenciar triggers;
* UPDATE – Permite alterar informações em tabelas;
* USAGE – Permite utilizar comandos básicos.

A sintaxe do grant é a seguinte:


grant <privilégios> on <banco>.<tabela> to '<usuario>'@'<dominio>' identified by '<senha>'

Agora criaremos um usuário com os mesmos privilégios do root:


mysql> CREATE USER dba;
mysql> GRANT ALL PRIVILEGES ON *.* TO dba@\'localhost\' IDENTIFIED BY 'passworddba';

E um usuário para somente leitura:


mysql> CREATE USER estagiario;
mysql> GRANT SELECT ON minha_base.* TO 'estagiario'@'%' IDENTIFIED BY 'estag';

O parâmetro “%” representa qualquer domínio, ou seja, o usuário estagiário para consultar todas as tabelas de “minha_base” mediante a senha “estag”. Caso você deseje consultar os privilégios do usuário poderemos utilizar o seguinte comando (repare que no campo de senha é gerado um hash, como explicado anteriormente):


mysql> SHOW GRANTS FOR 'estagiario'@'%';

GRANT SELECT ON `minha_base`.* TO 'estagiario'@'%'

Sempre que mudar/setar algum tipo de permissão no MySQL, o comando de atualiza a lista de privilégios faz-se necessário:


mysql> FLUSH PRIVILEGES;

Caso o estagiário esteja abusando com os “selects” da vida, podemos retirar os direitos de acesso com o comando REVOKE, veja:


mysql> REVOKE SELECT ON minha_base.* FROM 'estagiario'@'%';

Ainda se for necessário, podemos excluir ou alterar a senha desse usuário:


mysql> SET PASSWORD FOR 'estagiario' = PASSWORD('nova_senha');
mysql> DROP USER 'estagiario';