MySQL笔记之数据备份与还原的使用详解

数据很重要,这点用脚趾头想都知道,为了保证数据的安全,因此需要定期对数据备份

下面来写一点关于数据备份与还原相关的笔记

 

数据备份

使用mysqldump命令备份一个数据库
mysqldump -u username -p dbname table1 table2...>BackupName.sql

其中,dbname表示数据库名称,table1和table2表示表的名称,没有该参数则备份整个数据库

BackupName.sql参数表示备份文件的名称,文件名前面可以加上一个绝对路径

需要注意的是,备份的时候只备份数据库中的表,如果要还原则必须还原在已有数据库中

tips:通常情况下备份文件的后缀名为.sql,当然也可以是.txt等,只不过不专业

 

使用mysqldump命令备份多个数据库
 mysqldump -u username -p --databases dbname1 dbname2...>BackupName.sql

此处--databases代表备份多个数据库的意思,后面接数据库名

此外还能备份所有数据库

 

使用mysqldump命令备份所有数据库
mysqldump -u username -p --all-databases>BackupName.sql

 

直接复制整个数据库目录

直接复制数据库目录是最简单的备份方法,但并非最好

使用这种方法时为了避免数据变化需要暂时停止数据库服务,但实际中不允许

而且,这种方法对InnoDB存储引擎的表不适用,对于MyISAM存储引擎的表比较方便

 

数据还原

使用mysql命令还原
 mysql -u root -p[dbname]<backup.sql

[dbname]是可选的,如果使用--all-databases参数备份整个数据库而不是单独备份表

那么便可以不使用dbname参数

 

直接复制到数据库目录

使用这种方式必须保证数据库的主版本号一致

通常对MyISAM比较有效,对InnoDB不适用