Cheat Sheet MySQL
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'@'%';