0%

SequoiaDB-MySql的备份与恢复

数据备份

  • 数据库备份功能,是一种最直接、有效确保数据安全的方法,MySQL 实例支持原生 MySQL 数据备份方法。

备份单库几个表

1)mysqldump 工具按表导出,路径为(/opt/sequoiasql/mysql/tmp/employee.sql);

1
/opt/sequoiasql/mysql/bin/mysql -h 127.0.0.1 -P 3306 -u root

2)创建 company 数据库;

1
2
CREATE DATABASE company;
USE company;

3)创建包含自增主键字段的 employee 表;

1
2
3
4
5
6
CREATE TABLE employee 
(
empno INT AUTO_INCREMENT PRIMARY KEY,
ename VARCHAR(128),
age INT
);

4)插入数据并执行查询;

1
2
3
INSERT INTO employee (ename, age) VALUES ("Jacky", 36);
INSERT INTO employee (ename, age) VALUES ("Alice", 21);
SELECT * FROM employee;

5)退出MySQL Shell 界面;

1
\q

6)进行数据备份;

1
2
mkdir /opt/sequoiasql/mysql/tmp
/opt/sequoiasql/mysql/bin/mysqldump -h 127.0.0.1 -u root company employee > /opt/sequoiasql/mysql/tmp/employee.sql

mysqldump 导出的是 sql 执行语句,包含数据。 其中导出的命令包含以下示例命令:

  • 备份所有库: mysqldump -h 127.0.0.1 -u root -p -A > tmp/employee_import_test.sql
  • 备份单个库所有表: mysqldump -h 127.0.0.1 -u root -p -B 库名> tmp/employee_import_test.sql
  • 备份单个库单个表: mysqldump -h 127.0.0.1 -u root -p 库名 表名> tmp/employee_import_test.sql
  • 备份单个库某几个表: mysqldump -h 127.0.0.1 -u root -p 库名 表名 表名> tmp/employee_import_test.sql

7)数据检查;

1
cat /opt/sequoiasql/mysql/tmp/employee.sql

操作截图:

图片描述

Note: 因为内容较多, 仅截了图中的部分内容

1)创建备份数据存放文件夹;

1
2
cd /opt/sequoiasql/mysql/bin
mkdir /home/sdbadmin/mysqlbak

备份单库单表

2)备份单个库单个表;

1
mysqldump -h 127.0.0.1 -u root  company employee> /home/sdbadmin/mysqlbak/company_employee.sql

备份单个库

3)备份单个库所有表;

1
mysqldump -h 127.0.0.1 -u root  -B company> /home/sdbadmin/mysqlbak/company.sql

备份所有库

4)备份所有库;

1
mysqldump -h 127.0.0.1 -u root  -A > /home/sdbadmin/mysqlbak/all.sql

数据恢复

在 MySQL Shell 里面直接执行由 mysqldump 导出的 sql 文件进行数据恢复操作。

数据恢复操作

1)登录 MySQL 实例;

1
/opt/sequoiasql/mysql/bin/mysql -h 127.0.0.1 -P 3306 -u root

2)删除 company 数据库;

1
DROP DATABASE company;

Note:

在恢复数据前需删除数据库以便查看数据恢复操作。

3)检查 company 数据库是否已经删除;

1
USE company;

操作截图:

img

4)进行数据恢复,mysqldump 导出后生成的文件是 sql 语句的集合,可以直接执行;

1
SOURCE /home/sdbadmin/mysqlbak/all.sql;

mysqldump 工具恢复检查

1)mysqldump 导出后生成的文件是sql语句的集合,可以直接执行;

1
2
USE company;
SELECT * FROM employee;

Note: 因为我们导出的是数据表, 所以导入的时候, 需要选择好相应的数据库

操作截图:

图片描述

-------------本文结束感谢您的阅读-------------