mysqldump介绍及使用

1 概述

mysqldump 是 MySQL 自带的逻辑备份工具。

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

2 使用方法

2.1 命令格式

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

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

mysqldump [选项] --all-databases [选项]  > 脚本名

 2.2 选项说明

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

3 导出

3.1 db级别

3.1.1 导出所有db结构和数据

mysqldump -uroot -p -A > /data/bak/all.sql

3.1.2 仅导出所有db结构

mysqldump -uroot -p -A -d > /data/bak/all_struct.sql

3.1.3 仅导出所有db数据不导表结构

mysqldump -uroot -p -A -t > /data/bak/all_data.sql

3.1.4 导出单个db结构和数据

mysqldump -uroot -p mydb > /data/bak/mydb.sql

3.1.5 仅导出单个db结构

mysqldump -uroot -p mydb -d > /data/bak/mydb.sql

3.1.6 仅导出单个db数据

mysqldump -uroot -p mydb -t > /data/bak/mydb.sql

3.1.7 导出多个db结构和数据

--databases参数,数据,结构单独导出方法同上。

mysqldump -uroot -p --databases db1 db2 > /data/bak/muldbs.sql

3.2 表级别

参数-d表示只到处表结构,不导数据。 

3.2.1 导出一个库中的所有表结构 

mysqldump -h localhost -u root -p -d db_name > db_name.sql 

3.2.2 导出一个库中的一张或多张表的表结构

mysqldump -h localhost -u root -p pwd -d db_name user> user.sql 
mysqldump -ulocalhost -uroot -p dbpasswd -d db_name test1 test2 test3 > db.sql;

3.2.3 导出多个库的所有表结构

mysqldump -h localhost -u root -p -d --databases dbname1 dbname2 > db_name.sql

3.2.4 导出所有的数据库表结构

mysqldump -h localhost -u root -p -d --all-databases > all_db.sql 

3.2.5 备份指定数据库排除某些表

mysqldump -uroot -p test --ignore-table=test.t1 --ignore-table=test.t2 > /backup/mysqldump/test2.db

3.3 压缩备份

mysqldump -h localhost -u root -p dbname | gzip > db_name.sql.gz 

3.4 定时备份数据库任务

0 0 1 * * /usr/bin/mysqldump --defaults-extra-file=/root/.my.cnf --user=root db_name > /root/dump-$(date +"%Y%m%d").sql

3.5 导入数据

在导入备份数据库前,db_name如果没有,是需要创建的; 而且与db_name.db中数据库名是一样的才可以导入。

3.5.1 导入恢复数据库(系统行命令)

mysql -u user_name -p db_name < dump-backup.sql

3.5.2 导入恢复数据库(soure 方法)

mysql > use db_name
mysql > source /backup/mysqldump/db_name.db

3.5.3 导入单个数据库

3.5.3.1 mysql命令行:
mysql>use mydb
mysql>source /data/bak/mydb.sql
3.5.3.2 系统命令行:
mysql -uroot -p123456 mydb < /data/bak/mydb.sql

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

alden_ygq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值