数据完全备份

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