数据完全备份
mysqldump -uroot -pabc123 --databases school > /opt/school.sql
删除库
mysql> drop database school;
查看数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
还原数据库
mysql> source /opt/school.sql
mysql> show databases; #查看数据库确认
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| school |
| sys |
+--------------------+
方法二:此方法需要重新创建库名
mysqldump -uroot -pabc123 school > /opt/school.sql
mysql> create database school;
mysql> source /opt/school.sql;
mysql> show tables;
+------------------+
| Tables_in_school |
+------------------+
| info |
+------------------+
1 row in set (0.00 sec)
mysql> select * from info;
+----+------+-------+
| id | name | score |
+----+------+-------+
| 1 | ll | 88 |
| 2 | tl | 68 |
| 3 | ww | 44 |
| 4 | pw | 55 |
+----+------+-------+
方法三:不进入mysql数据库恢复数据
恢复数据
mysql -uroot -pabc123 < /opt/school.sql
数据表备份
mysqldump -uroot -pabc123 school info \> /opt/info.sql
删除表格(模拟数据表损坏)
mysql> drop table info;
还原备份数据表
mysql\> source /opt/info.sql
查看表格
mysql> show tables;
+------------------+
| Tables_in_school |
+------------------+
| info |
+------------------+
与数据库一样,也可以不登录mysql恢复数据表
mysql -uroot -pabc123 school < /opt/info.sql
总结:
无论是恢复数据库还是恢复数据表,都应该先查看一下备份文件,看里面有无自动创建数据库或数据表的命令,再考虑是否在备份时创建数据库和数据表!
查看备份文件
vim school.sql