Resumo : neste tutorial você aprenderá como fazer backup de uma ou algumas tabelas no MySQL usando o mysqldump
programa.
Para fazer backup de uma tabela, você usa mysqldump
o comando com a seguinte opção:
mysqldump -h hostname -u username -p dbname tblname > table.sql
Linguagem 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.sql
Linguagem 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 -p
Linguagem 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 sales
banco de dados chamadas products
, customers
, orders
e 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 sales
banco 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:
exit
Linguagem 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 mysqldump
comando para fazer backup da order_details
tabela no sales
banco de dados:
mysqldump -u root -p sales order_details > D:\backup\order_details.sql
Linguagem 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 daorder_details
tabela “ ” serão incluídos no backup.> D:\backup\
: Redireciona a saída doorder_details
.sqlmysqldump
comando para um arquivo chamado “order_details
.sql” localizado no caminho especificado “D:\backup\”. Isso cria um arquivo SQL contendo os dados despejados daorder_details
tabela “”.
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 mysqldump
comando para fazer backup das tabelas orders
e order_details
no sales
banco de dados:
mysqldump -u root -p sales orders order_details > D:\backup\some_tables.sql
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Resumo
- Use o
mysqldump
programa para fazer backup de uma ou mais tabelas de um banco de dados.