Fazendo backup de tabelas MySQL: um guia passo a passo

Resumo : neste tutorial você aprenderá como fazer backup de uma ou algumas tabelas no MySQL usando o mysqldumpprograma.

Para fazer backup de uma tabela, você usa mysqldumpo comando com a seguinte opção:

mysqldump -h hostname -u username -p dbname tblname > table.sqlLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Para fazer backup de algumas tabelas, você especifica uma lista de nomes de tabelas após o nome do banco de dados no comando mysqldump:

mysqldump -h hostname -u username -p dbname tblname1 tblname2 > table.sqlLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Ilustraremos como despejar uma tabela ou algumas tabelas de um banco de dados.

Criando um banco de dados de amostra

Primeiro, abra um prompt de comando no Windows ou um programa Terminal em sistemas do tipo Unix e conecte-se a um servidor MySQL :

mysql -u root -pLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Segundo, crie um novo banco de dados chamado sales:

CREATE DATABASE sales;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Terceiro, mude o banco de dados atual para sales:

USE sales;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Quarto, crie quatro tabelas no salesbanco de dados chamadas products, customers, orderse order_details:

CREATE TABLE products (
    product_id INT AUTO_INCREMENT PRIMARY KEY,
    product_name VARCHAR(255),
    unit_price DECIMAL(10, 2)
);

CREATE TABLE customers (
    customer_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_name VARCHAR(255),
    email VARCHAR(255)
);

CREATE TABLE orders (
    order_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_id INT,
    order_date DATE,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);

CREATE TABLE order_details (
    order_detail_id INT AUTO_INCREMENT PRIMARY KEY,
    order_id INT,
    product_id INT,
    quantity INT,
    total_price DECIMAL(10, 2),
    FOREIGN KEY (order_id) REFERENCES orders(order_id),
    FOREIGN KEY (product_id) REFERENCES products(product_id)
);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Quinto, insira os dados nas tabelas:

-- Inserting into Products Table
INSERT INTO products (product_name, unit_price)
VALUES
    ('Desktop Computer', 800.00),
    ('Tablet', 300.00),
    ('Printer', 150.00);

-- Inserting into Customers Table
INSERT INTO customers (customer_name, email)
VALUES
    ('Alice Johnson', '[email protected]'),
    ('Charlie Brown', '[email protected]'),
    ('Eva Davis', '[email protected]');

-- Inserting into Orders Table
INSERT INTO orders (customer_id, order_date)
VALUES
    (1, '2023-02-01'),
    (2, '2023-02-02'),
    (3, '2023-02-03');

-- Inserting into Order_Details Table
INSERT INTO order_details (order_id, product_id, quantity, total_price)
VALUES
    -- Order 1 details
    (1, 1, 2, 1600.00),
    (1, 2, 3, 900.00),

    -- Order 2 details
    (2, 2, 2, 600.00),
    (2, 3, 1, 150.00),

    -- Order 3 details
    (3, 1, 3, 2400.00),
    (3, 3, 2, 300.00);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Sexto, mostre todas as tabelas do salesbanco de dados:

SHOW TABLES;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+-----------------+
| Tables_in_sales |
+-----------------+
| customers       |
| order_details   |
| orders          |
| products        |
+-----------------+
4 rows in set (0.00 sec)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Finalmente, saia do programa mysql:

exitLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Fazendo backup de uma tabela

Primeiro, abra um prompt de comando no Windows ou um programa Terminal em sistemas do tipo Unix.

Segundo, execute o mysqldumpcomando para fazer backup da order_detailstabela no salesbanco de dados:

mysqldump -u root -p sales order_details > D:\backup\order_details.sqlLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Vamos examinar o comando:

  • mysqldump: o utilitário de linha de comando para criar backups de banco de dados MySQL.
  • -u root: especifica o usuário MySQL, neste caso, “root”, que geralmente é um superusuário com privilégios administrativos.
  • -p: solicita a senha do usuário MySQL. Depois de inserir o comando, você será solicitado a inserir a senha de forma interativa.
  • sales: o nome do banco de dados no qual você deseja fazer backup de uma tabela.
  • order_details: O nome da tabela no banco de dados “vendas”. Somente os dados da order_detailstabela “ ” serão incluídos no backup.
  • > D:\backup\order_details.sql: Redireciona a saída do mysqldumpcomando para um arquivo chamado “ order_details.sql” localizado no caminho especificado “D:\backup\”. Isso cria um arquivo SQL contendo os dados despejados da order_detailstabela “”.

Fazendo backup de algumas tabelas

Primeiro, abra um prompt de comando no Windows ou um programa Terminal em sistemas do tipo Unix.

Segundo, execute o seguinte mysqldumpcomando para fazer backup das tabelas orderse order_detailsno salesbanco de dados:

mysqldump -u root -p sales orders order_details > D:\backup\some_tables.sqlLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Resumo

  • Use o mysqldumpprograma para fazer backup de uma ou mais tabelas de um banco de dados.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *