mysqldump数据备份

139 阅读1分钟
  1. 备份指定的数据表

mysqldump -uroot -p database users > /tmp/users.sql

上面的操作会生成一份包含users表结构和insert可执行命令,但是insert所有的命令都是一行,有时候不便查看。如下:

image.png

可以通过在命令中使用:--skip-extended-insert

mysqldump -uroot -p --skip-extended-insert database users > /tmp/users_skip.sql

执行成功后,我们依旧拿到了一份和上面类似的sql文件,但打开会发现insert命令是分行展示的。如下:

image.png

  1. 备份整个数据库中表的结构(不包含表中数据)

mysqldump -uroot -p -d database > /tmp/database_struct.sql

  1. 备份所有的表数据(不包含数据结构)

mysqldump -uroot -p -t database > /tmp/data.sql

  1. 有时候需要根据条件备份相应的数据

mysqldump -uroot -p database users --where="age>18" > /tmp/users.sql

users表中age字段大于18的数据,相当于sql语句中的where条件:--where="age>18"