目录
一、备份整个 $datadir
安装的时候会有指定 $datadir 数据存储路径,把这个路径下的都备份下来,这种方式是可行的。
二、用mysqldump备份
备份某个库
mysqldump -uroot -pXXX 预备份库的库名 > /路径/XXX.sql
只备份某个库下某个表
mysqldump -uroot -pXXX 预备份库的库名 预备份的表名 > /路径/XXX.sql
备份某个库,排除库中一些表以外,备份剩余的表
mysqldump -uroot -pXXX --ignore-table=库名.排除的表名 预备份的库名 > /路径/XXX.sql
当需要排除多个表的时候,需要写多条 --ignore-table=
当遇到库中有某些表损坏的时候可用,因为损坏的表无法被备份,直接备份包含坏表的整个库也是会报错的,这时就可以把这些坏表在备份库时排除在外。
有很多库时候,一次性备份所有的库
mysqldump -uroot -pXXX -A > /路径/XXX.sql
一次指定备份某几个库
mysqldump -uroot -pXXX -B 库名1 库名2 库名n > /路径/XXX.sql
只备份表结构,不要里面数据
mysqldump -uroot -pXXX -d 库名 > /路径/XXX.sql
1、在对应数据库下source还原
比如上面对备份的 lwjdb 库还原。登录mysql。
use lwjdb
source /tmp/lwjdb.sql ;
注意:这种导入法需要先进入库下,如果导入时库下已有同名的表旧表会被默认drop覆盖掉。
2、用mysql还原(不是mysqldump)
mysql -uroot -pXXX 预还原库的库名 < /路径/XXX.sql
还原时候不用指定表名,会自动在库下找,如果指定的库内存在有同名的表会被覆盖。
这样可以只更库中的某个表,而不影响该库中的其他表。
备份文件实际上就是一些如何建立起原表的语句。
可通过查看数据库备份文件的内容来了解是否备份的正是想备份的表。
来源地址:https://blog.csdn.net/lwj457700209/article/details/130460680