MySQL使用mysqldump进行数据备份

mysqldump

mysqldump是MySQL自带的数据备份工具,它需要通过账号密码连接到数据库才能备份数据,可以指定要备份的库和表。默认会生成建表语句、表数据会转成insert语句。

mysqldump --help 可以查看各种可选参数。

备份表

mysqdump -uroot -p db_name [tb1_name tb2_name] > /dir/backup.sql; 

当省略表名时,会备份该库所有表。

这种方式备份的侧重点是表,备份文件里面并不会指定表属于哪个库,备份文件里面也不会有use db_name这样的语句用于恢复数据时指定库。

备份库

mysqldump -uroot -p [--no-data] --databases db_name1 db_name2 > /dir/backup.sql;   // --no-data指不备份数据,只备份库与表结构。

这种方式备份的侧重点是库与表,备份文件里面会有use db_name这样的语句,方便于恢复数据时知道要把表创建到哪个数据库。

mysqldump -uroot -p --all-databases;   // 备份所有库

这种方式,与用--databases选项指定备份所有表,效果一样。

从备份文件恢复数据

mysql -uroot -p  db_name < /dir/backup.sql

或者

mysql> use db_name;  //必须要先指定数据库名,因为backup.sql里面并没有数据库名的备份信息。
mysql> source /dir/backup.sql;
posted @ 2020-09-24 17:30  gitfong  阅读(317)  评论(0编辑  收藏  举报