Ir para o conteúdo principal

Cheat Sheet MySQL

mysql comandos cheat sheet
Alfredo Castro
Autor
Alfredo Castro
AWS Solutions Architect | AWS x3 | LPI x2 | CompTIA Linux+

Visualizar databases

show databases;

Visualizar tables

show tables;

Deletar usuário mysql

drop user NOME_USUARIO;

Listar usuário mysql

select * from mysql.user\G;
select user from mysql.user;

Criar database

create database NOME_DATABASE;

Selecionar database

use NOME_DATABASE;

Deletar database

drop database NOME_DATABASE;

Criar table

create table NOME_TABLE;
create table NAME_TABLE (ID int);

Deletar table

drop table NOME_TABLE;

Atualiza as tabelas de permissões

flush privileges;

Alterar a senha de um usuário com acesso apenas localhost

set password for NOME_USUARIO@'localhost' = password ('NOVA_SENHA');

Alterar a senha de um usuário com acesso externo

set password for NOME_USUARIO@'%' = password ('NOVA_SENHA');

Verificar valores da table

select * from NOME_TABLE;

Dump database

shell> mysqldump -u NOME_USUARIO -p NOME_DATABASE > mysqltables.sql

Restore dump

shell> mysql -u NOME_USUARIO -p NOME_DATABASE < mysqltables.sql

Verificar timezone

select @@system_time_zone;

Verificar data e hora

select now();

Visualizar espaço em disco utilizado por database em MB e em GB

select table_schema "DB Name", sum((data_length+index_length)/1024/1024) AS "DB Size in MB" from information_schema.tables group by table_schema;

select table_schema "DB Name", sum((data_length+index_length)/1024/1024/1024) AS "DB Size in GB" from information_schema.tables group by table_schema;

Verificar collate

SELECT @@character_set_database, @@collation_database;

Verificar eventos

show events\G;

Deletar eventos

drop event NOME_EVENTO;

Verificar se o MySQL está com a opção de event_scheduler habilitada

show global variables like 'event_scheduler';

Criar usuário com permissão total (altere de localhost para % para que o usuário possa logar externamente)

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';
FLUSH PRIVILEGES;

Lista de permissões

ALL PRIVILEGES  como vimos anteriormente, isso garante ao usuário do MySQL acesso completo a um banco de dados (ou, se nenhum banco de dados for selecionado, acesso global a todo o sistema)
CREATE  permite criar novas tabelas ou bancos de dados
DROP  permite deletar tabelas ou bancos de dados
DELETE  permite excluir linhas de tabelas
INSERT  permite inserir linhas em tabelas
SELECT - permite usar o comando SELECT para ler os bancos de dados
UPDATE  permite atualizar linhas de tabelas
GRANT OPTION  permite conceder ou remover privilégios de outros usuários

Adicionar permissão a um usuário

GRANT type_of_permission ON database_name.table_name TO 'username'@'localhost';

Revogar permissão de um usuário

REVOKE type_of_permission ON database_name.table_name FROM 'username'@'localhost';

Verificar permissões de um usuário

SHOW GRANTS FOR 'username'@'localhost';

Renomear nome de usuário

RENAME USER 'username-antigo'@'%' TO 'username-novo'@'%';