1. Introdução
1.1 Visão geral do MySQL e por que a linha de comando importa
MySQL é amplamente usado como um sistema de gerenciamento de banco de dados relacional (SGBDR) de código aberto. Seus principais benefícios incluem gerenciamento eficiente de dados e operações flexíveis usando SQL (Structured Query Language). É usado em muitas aplicações web e sistemas corporativos, e seus recursos poderosos podem ser totalmente aproveitados através da linha de comando do MySQL.
1.2 Propósito deste artigo
Este artigo foca nas operações de linha de comando do MySQL e explica tudo, desde comandos básicos até usos mais avançados, incluindo a criação e gerenciamento de bancos de dados e a configuração de privilégios de usuário. É especialmente projetado para ajudar iniciantes e usuários intermediários a desenvolver habilidades práticas para usar o MySQL com confiança.
1.3 Para quem este guia é destinado
Este guia destina‑se a usuários iniciantes a intermediários que têm interesse no MySQL. É ideal para quem possui conhecimentos básicos de bancos de dados e deseja começar a gerenciar dados ou construir aplicações web usando o MySQL.
2. Comandos básicos do MySQL
2.1 Conectando e desconectando do banco de dados
Para acessar o MySQL, primeiro é necessário conectar ao servidor de banco de dados. Um dos comandos mais usados para fazer login em um servidor MySQL é mysql -u root -p. Quando você executa esse comando, o cliente MySQL inicia e tenta fazer login como o usuário especificado (neste caso, root).
mysql -u root -p
Após inserir esse comando, será solicitado que você digite uma senha. Se a senha estiver correta, você poderá acessar a linha de comando do MySQL.
Para desconectar, use o comando exit ou quit.
exit
Isso encerra sua sessão no servidor MySQL e retorna ao prompt de comando.
2.2 Criando e listando bancos de dados
Para criar um novo banco de dados, use o comando CREATE DATABASE. O exemplo a seguir cria um banco de dados chamado mysqldemo.
CREATE DATABASE mysqldemo;
Depois de executar o comando, você verá a mensagem “Query OK”, confirmando que o banco de dados foi criado com sucesso.
Para exibir a lista de bancos de dados que você criou, use o comando SHOW DATABASES.
SHOW DATABASES;
Esse comando mostra a lista de todos os bancos de dados disponíveis no servidor.
2.3 Selecionando um banco de dados
Se houver vários bancos de dados, você precisa especificar qual deseja usar. Usando o comando USE, você pode selecionar o banco de dados com o qual deseja trabalhar.
USE mysqldemo;
Isso define mysqldemo como o banco de dados atual, e todos os comandos subsequentes serão executados contra esse banco. 
3. Comandos básicos de tabela
3.1 Criando uma tabela
Para armazenar dados em um banco de dados, primeiro é necessário criar uma tabela. Use o comando CREATE TABLE para criar uma nova tabela. Por exemplo, se você quiser criar uma tabela chamada users, escreva o comando da seguinte forma.
CREATE TABLE users (
id INT AUTO_INCREMENT,
name VARCHAR(255),
email VARCHAR(255),
PRIMARY KEY (id)
);
Esse comando define três colunas (id, name e email) na tabela users. A coluna id é do tipo inteiro com auto‑incremento (AUTO_INCREMENT) habilitado e é especificada como chave primária (PRIMARY KEY).
3.2 Listando tabelas
Depois de criar tabelas, você pode verificar a lista de tabelas no banco de dados. Usando o comando SHOW TABLES, você pode exibir todas as tabelas no banco de dados atualmente selecionado.
SHOW TABLES;
Além disso, se quiser verificar a estrutura de uma tabela específica, use o comando DESCRIBE. Isso exibe informações sobre as colunas e os tipos de dados da tabela.
DESCRIBE users;
Esse comando lista os tipos de dados e atributos (como se NULL é permitido, configurações de chave, etc.) para cada coluna na tabela users.
3.3 Inserindo e visualizando dados
Para adicionar dados a uma tabela, use o comando INSERT INTO. Por exemplo, para adicionar um novo usuário, faça o seguinte.
INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com');
Este comando insere um novo registro na tabela users e armazena os valores especificados nas colunas name e email.
Para visualizar os dados inseridos, use o comando SELECT. Para exibir todos os usuários, use o seguinte.
SELECT * FROM users;
Isso exibe uma lista de todos os registros na tabela users.
4. Gerenciamento de Usuários e Segurança
4.1 Criando Usuários e Definindo Privilégios
No MySQL, é importante criar usuários que possam acessar o banco de dados e conceder a eles os privilégios adequados. Para criar um usuário, use o comando CREATE USER. No exemplo a seguir, um novo usuário user1 é criado para localhost com a senha definida como password123.
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password123';
Este comando cria um novo usuário chamado user1, e o usuário só pode se conectar a partir do host local.
Para conceder privilégios ao usuário criado, use o comando GRANT. Por exemplo, para conceder todos os privilégios no banco de dados mysqldemo ao user1, use o seguinte.
GRANT ALL PRIVILEGES ON mysqldemo.* TO 'user1'@'localhost';
Este comando concede ao user1 privilégios totais em todas as tabelas do banco de dados mysqldemo. Para aplicar as alterações de privilégios ao sistema, execute o comando FLUSH PRIVILEGES.
FLUSH PRIVILEGES;
4.2 Alterando uma Senha
Para alterar a senha de um usuário existente, use o comando UPDATE para atualizar a tabela user no banco de dados mysql. O exemplo a seguir altera a senha do usuário root para uma nova.
UPDATE mysql.user SET authentication_string = PASSWORD('newpassword') WHERE User = 'root';
FLUSH PRIVILEGES;
Isso altera a senha do usuário root para newpassword. Ao executar FLUSH PRIVILEGES, a alteração é aplicada ao sistema.
4.3 Melhores Práticas para Fortalecer a Segurança
Para melhorar a segurança do MySQL, é importante seguir estas melhores práticas.
- Remover usuários anônimos desnecessários: Exclua os usuários anônimos padrão para que apenas usuários autenticados possam acessar o banco de dados.
- Desativar login remoto do root: Para maior segurança, desative logins do usuário
roota partir de hosts remotos. - Usar senhas fortes: Utilize senhas fortes, difíceis de adivinhar, e altere-as regularmente.
Implementando essas medidas, você pode melhorar a segurança do banco de dados e prevenir acessos não autorizados. 
5. Comandos Avançados do MySQL
5.1 Atualizando e Excluindo Dados
Para atualizar dados em uma tabela, use o comando UPDATE. Por exemplo, se você quiser atualizar a coluna name na tabela users, faça o seguinte.
UPDATE users SET name = 'Jane Doe' WHERE id = 1;
Este comando altera o valor da coluna name para Jane Doe no registro onde id é 1. Cuidado: se você omitir a cláusula WHERE, todos os registros da tabela serão atualizados.
Para excluir dados, use o comando DELETE. Por exemplo, para excluir o registro onde id é 1, use o seguinte.
DELETE FROM users WHERE id = 1;
Isso exclui o registro com id igual a 1 da tabela users.
5.2 Backup e Restauração
Para criar um backup do banco de dados, use o comando mysqldump. Este comando exporta todo o banco de dados e o salva como um arquivo SQL. Por exemplo, para fazer backup do banco de dados mysqldemo, use o seguinte.
mysqldump -u root -p mysqldemo > mysqldemo_backup.sql
Para restaurar (recuperar) um banco de dados, use o comando source. O exemplo a seguir restaura o banco de dados a partir do arquivo mysqldemo_backup.sql.
mysql -u root -p mysqldemo < mysqldemo_backup.sql
Este comando importa o conteúdo de mysqldemo_backup.sql para o banco de dados mysqldemo.
5.3 Iniciando e Parando o Servidor
Para iniciar o servidor MySQL a partir da linha de comando, use o comando mysqld. Por exemplo, em um ambiente Windows, você pode executar o seguinte.
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld"
Para parar o servidor, use o comando mysqladmin.
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqladmin" -u root -p shutdown
Isso interrompe o servidor MySQL corretamente. Iniciar e parar a partir do prompt de comando é especialmente útil em ambientes onde ferramentas GUI não estão disponíveis.
6. Solução de Problemas
6.1 Erros Comuns e Como Corrigi‑los
Um erro comum que ocorre ao usar o MySQL é o erro “Access denied for user”. Isso acontece quando o nome de usuário ou a senha especificados estão incorretos. Para corrigi‑lo, verifique novamente o nome de usuário e a senha e tente fazer login novamente com as credenciais corretas.
Outro erro, “Unknown database”, aparece quando o banco de dados especificado não existe. Use o comando SHOW DATABASES para confirmar se o banco de dados existe e crie‑o, se necessário.
SHOW DATABASES;
CREATE DATABASE db_name;
6.2 Dicas e Precauções para Operações de Banco de Dados
Ao operar um banco de dados, você deve prestar atenção aos seguintes pontos.
- Faça backups: antes de executar operações no banco de dados, sempre crie um backup. Isso permite restaurar os dados caso você exclua algo acidentalmente.
- Use transações: ao executar várias consultas como uma única operação, use transações para manter a integridade dos dados. Para usar transações, execute
START TRANSACTION,COMMITeROLLBACK. - Especifique condições com precisão: ao usar
UPDATEouDELETE, é importante especificar a cláusulaWHEREcorretamente. Isso ajuda a evitar atualizações ou exclusões não intencionais.
Mantendo essas precauções em mente, você pode prevenir problemas no MySQL antecipadamente e operar bancos de dados com segurança.
7. Conclusão
A linha de comando do MySQL é uma ferramenta poderosa para executar de forma eficiente tudo, desde o gerenciamento básico de bancos de dados até operações avançadas. Neste artigo, abordamos comandos essenciais do MySQL, incluindo a criação de bancos de dados, o trabalho com tabelas, o gerenciamento de usuários e a atualização ou exclusão de dados.
No mundo dos bancos de dados, segurança e integridade dos dados são extremamente importantes. Por esse motivo, é necessário seguir as melhores práticas, como configurar privilégios de usuário, gerenciar senhas adequadamente e fazer backups regulares. Além disso, o conhecimento de solução de problemas ajuda a responder rapidamente quando surgem questões.
Ao dominar os comandos do MySQL, você pode operar bancos de dados de forma mais eficiente e segura. Continue praticando e aplicando o que aprendeu para ganhar confiança em operações de banco de dados seguras e eficazes.


