iMisty的技术栈

iMisty的技术栈

数据库备份:使用mysqldump备份数据库

1420
2021-01-07

什么是mysqldump?

  • mysqldump命令是MySQLI自带的备份工具,相当方便对MySQL进行备份
  • 通过该命令工具可以将指定的库、表或全部的库导出为SQL脚本,在需要恢复时可进行数据恢复

如何使用mysqldump命令备份库?

备份单个库

语法:

  • mysqldump -u 用户名 -p [密码] [选项] [库名] > /备份路径/备份文件名
    例如:
  • mysqldump -u root -p databaseName > /backup/databaseName.sql

备份多个库

语法:

  • mysqldump -u 用户名 -p [密码] [选项] --databases 库名1 [库名2] ... > /备份路径/备份文件名
    例如:
    mysqldump -u root -p --databases databaseName1 databaseName2 > /backup/databaseName1-databaseName2.sql

对所有库完全备份

语法:
mysqldump -u 用户名 -p [密码] [选项] --all-databases > /备份路径/备份文件名
例如:
mysqldump -u root -p --opt --all-databases > /backup/allDatabase.sql

如何使用mysqldump命令备份表?

在实际生产环境中,存在对某个特定表的维护操作,此时 mysqldump同样发挥重大作用

使用 mysqldump备份表的操作

语法
mysqldump -u 用户名 -p [密码] [选项] 数据库名 表名 > /备份路径/备份文件名
例如
mysqldump -u root -p abc school > /backup/abc-school.sql
使用 mysqldump备份表的结构
mysqldump -u 用户名 -p [密码] [选项] -d 数据库名 表名 > /备份路径/备份文件名
例如
mysqldump -u root -p -d abc school > /backup/abc-school.sql

如何恢复数据库和表?

数据恢复的两种方法

使用 mysqldump命令导出的SQL备份脚本,在进行数据恢复时可使用以下方法导入

  • source命令
  • mysql命令

如何使用source命令恢复数据库?
使用 source恢复数据库的步骤

  • 登录到 MySQL数据库
  • 执行 source备份sql脚本的路径(绝对路径)
 mysql > source /backup/all-data.sql
 '//source命令在mysql库中使用'

如何使用mysql命令恢复数据库?

使用 mysql恢复数据库

语法:

 mysql -u 用户名 -p [密码] < 库备份脚本的路径
 '//此处用了导入<符号,而不是导出>符号'

例如
mysql -u root -p < /backup/all-data.sql

如何恢复表

恢复表时同样可以使用 source或者mysql命令进行
source恢复表的操作与恢复库的操作相同

当备份文件中只包含表的备份,而不包括创建库的语句时,必须指定库名,且目标库必须存在

语法
mysql -u 用户名 -p [密码] < 表备份脚本的路径
例如
mysql -u root -p mysql < /backup/abc-school.sql