目录
-
- 数据备份
-
- 概述
- 使用MySQLdump命令备份
- 数据恢复
-
- 概述
- MySQL命令恢复
数据备份
概述
数据备份是非常重要的,由于系统崩溃等一系列的原因都可能会导致数据库的数据丢失,因此应该定期地备份数据库,使得在意外情况发生时,尽可能减少损失。
使用MySQLdump命令备份
MySQLdump是MySQL提供的一个非常有用的数据库备份工具。在使用该工具时可以生成一个文本文件,该文件会包含多个CREATE和INSERT语句,使用该语句可以重新创建表和插入数据。
语法格式:mysqldump -u root -p 数据库名 >路径/yingmo.sql
这里先创建一个名为yingmo的数据库了三张表。
1.MySQLdump备份单个数据库中所有表
mysqldump -u root -p yingmo >F:/yingmo.sql
Enter password: ****
这时在本地文件夹下会生成一个名为yingmo.sql的文件
打开看一下
2.MySQLdump备份数据库某个表
备份yingmo数据库中的student表
mysqldump -u root -p yingmo student>F:/yingmo.sql
Enter password: ****
3.MySQLdump备份多个数据库
要备份多个数据库,需要使用–databases参数 多个数据库名称之间用空格隔开
语法格式 mysqldump -u root -p --databases 数据库1 数据库2>F:/yingmo.sql
再创建一个名为wb的数据库且创建一张表
mysqldump -u root -p --databases yingmo wb >F:/yingmo.sql
Enter password: ****
4.MySQLdump备份所有数据库
语法格式:mysqldump -u root -p --all-databases >F:/yingmo.sql
无需指定数据库名
数据恢复
概述
在上述已经备份好数据的基础上,通过恢复数据来尽量减少数据的丢失。
在上面备份数据时我们就已经知道,在备份的时候就包含了CREATE和INSERT语句,所以可以使用MySQL语句进行恢复。
MySQL命令恢复
这里先把之前建立的数据库给删除,包括:yingmo wb
mysql> drop database yingmo;
Query OK, 7 rows affected (0.05 sec)
mysql> drop database wb;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| kefu |
| mysql |
+--------------------+
3 rows in set (0.00 sec)
以下开始进行恢复
语法格式:mysql -u root -p < F:/yingmo.sql
无需指定数据库名
C:\Users\acer>mysql -u root -p < F:/yingmo.sql
Enter password: ****
C:\Users\acer>mysql -u root -p
Enter password: ****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 5.1.60-community-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| kefu |
| mysql |
| wb |
| yingmo |
+--------------------+
5 rows in set (0.00 sec)
mysql> use yingmo;
Database changed
mysql> show tables;
+------------------+
| Tables_in_yingmo |
+------------------+
| course |
| sc |
| student |
| view_003 |
| view_c001 |
| view_male |
| view_sg |
+------------------+
7 rows in set (0.00 sec)
OK已经恢复完成。