我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysqldump如何备份与恢复

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysqldump如何备份与恢复

这篇文章主要介绍了mysqldump如何备份与恢复,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一.mysqldump
mysqldump备份原理,去数据库查询数据,然后进行sql语句的拼接。
优点:mysql自带,使用方便,备份结果容易操作。少量数据可以使用mysqldump
缺点:大量数据下,使用mysqldump恢复较慢,mysqldump再导入数据的时候,都是使用sql语句,需要开启事务。不建议使用.

二.语法如下:
mysqldump [arguments] >file_name
(1).备份所有数据库
mysqldump --all-databases >dump.sql
(2).备份指定数据库
mysqldump --databases wwj db2 db3 >dump.sql
(3).--single-transaction 获得备份的一致性
当启用该参数并进行备份时,确保没有其他任何的DDL语句执行.保证可重复读得到备份时间点一致性的快照.
(4).--lock-tables(-l)
在备份过程中,依次锁住备份的表。一般用于myisam引擎,用来保证一致性。对于innodb引擎不需要使用该参数。
如果同时存在innodb和myisam的表,则只能使用--lock-tables
(5).--lock-all-tables(-x)
在备份过程中,同时对所有表上锁。
(6).--add-drop-database
在create database前先运行drop database,和-all-databases 或者 --databases一起使用
--add-drop-table
在创建table前,先删除table
(7).--events(-E)
备份事件调度器
(8).--routines(-R)
备份存储过程和函数
(9).--triggers
备份触发器
(10).--hex-blob
将binary,varbinary,blog,bit列类型备份为十六进制的格式
(11).--tab=path(-T path)
产生TAB分割的数据文件。对于每张表,创建一个包含create table语句的table_name.sql文件和包含数据的tb1_name.txt文件
(12).--where='where_condition'(-w)
导出给定条件下的数据
(13).导出某数据库中的几个表
mysqldump -uroot -p -S /tmp/mysql3306.sock --single-transaction test emp_range> t1.sql
(14).导出表结构
--no-data, -d 不导出任何数据,只导出数据库表结构
mysqldump -uroot -p -S /tmp/mysql3306.sock --single-transaction --all-databases -d > all.sql
(15).--ignore-table=name
不导出某个表,e.g = --ignore-table=database.table
(16).--insert-ignore    
Insert rows with INSERT IGNORE
(17).--log-error=name   
Append warnings and errors to given file.
(18).--master-data
mysqldump导出数据时,当这个参数的值为1的时候,mysqldump出来的文件就会包括CHANGE MASTER TO这个语句,CHANGE MASTER TO后面紧接着就是file和position的记录,在slave上导入数据时就会执行这个语句,salve就会根据指定这个文件位置从master端复制binlog。默认情况下这个值是1  当这个值是2的时候,chang master to也是会写到dump文件里面去的,但是这个语句是被注释的状态。  
master-data参数在建立slave数据库的时候会经常用到,因为这是一个比较好用的参数,默认值为1,默认情况下,会包含change master to,这个语句包含file和position的记录始位置。master-data=2的时候,在mysqldump出来的文件包含CHANGE MASTER TO这个语句,处于被注释状态
(19).--no-create-info, -t 只导出数据,而不添加CREATE TABLE 语句
(20).--no-create-db, -n 只导出数据,而不添加CREATE DATABASE 语句
(21).--force,-f 在导出过程中忽略出现的SQL错误,当出现错误时仍然继续后面的操作

--mysqldump 的恢复
(1).mysql -uroot -p 
(2).source /home/mysql/test_backup.sql
或者
/usr/local/mysql/bin/mysql -uroot -p -S /tmp/mysql3306.sock < all.sql

三.逻辑备份恢复实验
1.备份恢复所有数据库
- 备份实例下所有数据库
mysqldump -u root -p -S /tmp/mysql3306.sock --all-databases --add-drop-database --single-transaction > /tmp/db1.sql
- 恢复
mysql -uroot -p -S /tmp/mysql3306.sock < /tmp/db1.sql

2.备份恢复单独的数据库
-备份数据库wwj
mysqldump -u root -p -S /tmp/mysql3306.sock --databases wwj --add-drop-database --single-transaction > /tmp/db2.sql
-恢复数据库wwj
mysql -uroot -p -S /tmp/mysql3306.sock < /tmp/db2.sql

3.备份恢复某数据库中的几个表
-备份表wwj.t3, wwj.haha22
mysqldump -u root -p -S /tmp/mysql3306.sock --single-transaction --databases wwj --tables t3 haha22 > /tmp/db3.sql
-恢复
use wwj;
source /tmp/db3.sql;

感谢你能够认真阅读完这篇文章,希望小编分享的“mysqldump如何备份与恢复”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysqldump如何备份与恢复

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL5.7 mysqldump备份与恢复的实现

MySQL 备份 冷备份: 停止服务进行备份,即停止数据库的写入 热备份: 不停止服务进行备份(在线) mysql 的 MyIsam 引擎只支持冷备份,InnoDB 支持热备份,原因: InnoDB引擎是事务性存储引擎,每一条语句都会写日志
2022-05-15

MySQLdump增量备份、完全备份与恢复的方法是什么

本篇内容主要讲解“MySQLdump增量备份、完全备份与恢复的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQLdump增量备份、完全备份与恢复的方法是什么”吧!在数据库表丢失或
2023-06-16

Mysql逻辑备份恢复-mysqldump使用

备份单个数据库:mysqldump -u 用户名 -p 数据库名 >filename.sql     --no-data(-d)  只备份表结构     -t         只备份表数据    --databases  指定主机上要备份的数据库     -A
Mysql逻辑备份恢复-mysqldump使用
2014-05-10

mysql数据备份与恢复之mysqldump和source命令

导入到数据库use databasesource dbname.sql导出数据1 导出一个数据库的结构mysqldump -d dbname -uroot -p > dbname.sql2 导出多个数据库的结构mysqldump -d -B dbname1 d
mysql数据备份与恢复之mysqldump和source命令
2019-06-22

Linux下Oracle如何备份与恢复

备份数据库:使用expdp工具进行数据库导出备份:expdp username/password@database_name dumpfile=backup.dmp logfile=backup.log使用RMAN进行数据库备份:rman
Linux下Oracle如何备份与恢复
2024-05-06

编程热搜

目录