一般情况下,我们都是使用的Navicat等的可视化工具进行数据导出。只有在特殊情况下,无法通过可视化工具进行数据库连接,只能通过命令行来操作,此时就需要用到mysqldump工具了。

以下内容摘自 musqldump原理

mysqldump

mysqldumpMySQL自带的逻辑备份工具。

它的备份原理是通过协议连接到MySQL数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert语句,当我们需要还原这些数据时,只要执行这些insert语句,即可将对应的数据还原。

这里,我们可以通过以下格式进行操作:

1
mysqldump [选项] 数据库名 [表名] > 脚本名

1
mysqldump [选项] --数据库名 [选项 表名] > 脚本名

1
mysqldump [选项] --all-databases [选项]  > 脚本名
参数名 缩写 含义
–host -h 服务器IP地址
–port -P 服务器端口号
–user -u MySQL 用户名
–password -p MySQL 密码
–databases 指定要备份的数据库
–all-databases 备份mysql服务器上的所有数据库
–compact 压缩模式,产生更少的输出
–comments 添加注释信息
–complete-insert 输出完成的插入语句
–lock-tables 备份前,锁定所有数据库表
–no-create-db/–no-create-info 禁止生成创建数据库语句
–force 当出现错误时仍然继续备份操作
–default-character-set 指定默认字符集
–add-locks 备份数据库表时锁定数据库表

举个例子

备份dbnametablename表的表结构与数据。

1
mysqldump -u root -p dbname tablename > /backup/mysqldump/tablename.sql

上述命令中,-u表示了用户名,后面的root就是-u的参数;-p表示了密码,这里就会在执行此行命令后要求输入数据库中用户名为root的密码;dbname表示数据库名;tablename表示表名称;>表示输出重定向;/backup/mysqldump/tablename.sql表示了输出的文件路径。


本站总访问量