【数据分析师_02_SQL+MySQL】030_MySQL的数据备份和性能管理(MYSQLDUMP,MYSQLHOTCOPY,INDEX,EXPLAIN)

MySQL的数据备份和性能管理

  • 1 概述
    • 1.1 数据备份
    • 1.2 性能管理(索引 Index)
  • 2 数据备份
    • 2.1 利用 NAVICAT备份
    • 2.2 利用 CMD备份
      • 2.2.1 备份一个数据库
      • 2.2.2 备份多个表
      • 2.2.3 备份多个数据库
      • 2.2.4 备份所有数据库
    • 2.3 备份空数据库(测试用)
    • 2.4 数据的导入/导出
  • 2 性能管理(索引 Index)

1 概述

1.1 数据备份

像所有数据一样,MySQL的数据也必须经常备份。由于MySQL数据库是基于磁盘的文件,普通的备份系统和例程就能备份MySQL的数据。但是,由于这些文件总是处于打开和使用状态,普通的文件副本备份不一定总是有效。

  • 使用命令行实用程序 mysqldump 转储所有数据库内容到某个外部文件。在进行常规备份前这个实用程序应该正常运行,以便能正确地备份转储文件。
  • 可用命令行实用程序 mysqlhotcopy 从一个数据库复制所有数据(并非所有数据库引擎都支持这个实用程序)。
  • 可以使用MySQL的 BACKUP TABLESELECT INTO OUTFILE 转储所有数据到某个外部文件。

1.2 性能管理(索引 Index)

数据库工作人员把他们工作中的相当一部份时间花在了性能调整上、试验改善DBMS性能。

  • 在诊断应用的滞缓现象和性能问题时,性能不良的数据库(以及数据库查询)通常是最常见的祸因。
  • 利用索引 Index 可以大幅改善查询时候的性能问题。
  • 利用一些操作系统的参数也可以提供数据访问的性能。
  • 使用 Explain 语句让MySQL解释它将如何执行一条SELECT语句。
  • 一般来说,存储过程执行得比一条一条地执行其中的各条MySQL语句快

2 数据备份

MySQL中自带了 mysqldump功能,可以以此功能进行数据备份

2.1 利用 NAVICAT备份

注:右键可以查看备份位置
【数据分析师_02_SQL+MySQL】030_MySQL的数据备份和性能管理(MYSQLDUMP,MYSQLHOTCOPY,INDEX,EXPLAIN)_第1张图片

2.2 利用 CMD备份

2.2.1 备份一个数据库

d:\mysql\bin>mysqldump.exe -h 127.0.0.1 -p 3306 -uroot -p --database erp > d:\mysql\create_db_1.sql
# 运行程序mysqldump.exe -h 本机 -p port是3306 登陆root账户 -p --选择erp数据库进行备份 > 备份位置\备份文件的名称

2.2.2 备份多个表

d:\mysql\bin>mysqldump.exe -h 127.0.0.1 -p 3306 -uroot -p erp orders> d:\mysql\create_orders.sql
# 运行程序mysqldump.exe -h 本机 -p port是3306 登陆root账户 -p --选择erp数据库中的orders表进行备份 > 备份位置\备份文件的名称

2.2.3 备份多个数据库

d:\mysql\bin>mysqldump.exe -h 127.0.0.1 -p 3306 -uroot -p --database erp test > d:\mysql\create_db_2.sql
# 运行程序mysqldump.exe -h 本机 -p port是3306 登陆root账户 -p --选择erp和test数据库进行备份 > 备份位置\备份文件的名称

2.2.4 备份所有数据库

d:\mysql\bin>mysqldump.exe -h 127.0.0.1 -p 3306 -uroot -p --all-database d:\mysql\create_db_all.sql
# 运行程序mysqldump.exe -h 本机 -p port是3306 登陆root账户 -p --选择所有数据库进行备份 > 备份位置\备份文件的名称

2.3 备份空数据库(测试用)

d:\mysql\bin>mysqldump.exe -h 127.0.0.1 -p 3306 -uroot -p --no-data --database erp d:\mysql\create_db_blank.sql
# 运行程序mysqldump.exe -h 本机 -p port是3306 登陆root账户 -p --不选择数据 --选择所有数据库进行备份 > 备份位置\备份文件的名称

2.4 数据的导入/导出

导出数据:

SELECT * FROM customers INTO OUTFILE 'd:\mysql\out.csv'

导入数据:
(customers2 是一张空表,此时将导出的数据重新载入空表中)

SELECT * FROM customers2
LOAD DATA INFILE 'c:\mysql\out.csv' INTO TABLE customers2;
# 将数据导入空表
SELECT * FROM customers2;
# 导入空表后查看

2 性能管理(索引 Index)

【数据分析师_02_SQL+MySQL】030_MySQL的数据备份和性能管理(MYSQLDUMP,MYSQLHOTCOPY,INDEX,EXPLAIN)_第2张图片
右键Table → 选项卡Index → 写入索引的名称,索引列字段名,索引类型和方法 → 保存
然后在 MySQL语句中加上 ‘EXPLAIN’ 即可在结果中看到 MySQL筛选过程的数据:

EXPLAIN
SELECT * FROM customers WHERE cust_id = 10004

【数据分析师_02_SQL+MySQL】030_MySQL的数据备份和性能管理(MYSQLDUMP,MYSQLHOTCOPY,INDEX,EXPLAIN)_第3张图片

你可能感兴趣的:(数据分析师,数据分析,mysql)