Guia de Linha de Comando MySQL: Comandos Essenciais para Iniciantes (com Exemplos)

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 root a 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, COMMIT e ROLLBACK.
  • Especifique condições com precisão: ao usar UPDATE ou DELETE, é importante especificar a cláusula WHERE corretamente. 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.