我是靠谱客的博主 跳跃飞鸟,最近开发中收集的这篇文章主要介绍mysql mysqldump触发器备份_MySQL常用的备份工具之mysqldump,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

mysqldump是MySQL中最常用的备份工具,在一些情况下,也是我们唯一可以选择的备份工具。mysqldump是在MySQL发行版中所提供的一种逻辑备份工具,支持对数据库进行全量备份和有条件的备份,其备份结果就是SQL转储文件。那么我们如何使用mysqldump呢?我们先来看一下mysqldump的语法

mysqldump [OPTIONS] database [tables]

OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]

OR     mysqldump [OPTIONS] --all-databases [OPTIONS]

使用mysqldump --help我们可以看到,mysqldump的常用语法有三种。

mysqldump datebases [tables] 用于对指定数据库下的某一个或是某一些表进行备分

mysqldump -databases [OPTIONS] DB1 [DB2 DB3...]用于对指定的数据库进行备份

mysqldump [OPTIONS] --all-databases [OPTIONS]用于对所有数据库进行备份

而[OPTIONS]则是一些备份的参数,常用的一些参数及功能如下:

-u 备份用户

-p 备份用户的密码

--flush-logs 在备份开始前先执行flush logs 命令刷新二进制日志到磁盘,并生成一个新的二进制日志文件

--master-data 这个参数在我们上一章中已经多次提到了,其主要用途就是在备份文件 中记录备份时MySQL实例的二进制日志文件名和偏移量信息。这个参数有两个取值1和2,当为2时会在生成的change master命令前加上注释符。

--routines 在备份文件中包括存储过程和函数

--triggers 在备份文件中包括触发器

--events  在备份文件中包括MySQL计划任务

--where 这个参数让我们可以按照一定条件来备份某一个表的数据

--single-transaction:这个参数主要用于INNODB存储引擎,该参数在事务隔离级别设置成Repeatable Read,并在dump之前发送start transaction 语句给服务端。这在使用innodb时很有用,因为在发出start transaction时,保证了在不阻塞任何应用下的一致性状态。对myisam和memory等非事务表,还是会改变状态的,当使用此参的时候要确保没有其他连接在使用ALTER TABLE、CREATE TABLE、DROP TABLE、RENAME TABLE、TRUNCATE TABLE等语句,否则会出现不正确的内容或则失败。--add-locks和此参互斥,

那么如果我们想使用mysqldump对MySQL数据库进行全备的话,我们要如何做呢?其实很简单,只要使用下面的命令就可以了

mysqldump -u xxx -p xxxx --single-transaction --triggers --routines --events -all-databases >> all.sql

是不是很简单呢?

同样如果我们只想备份,某一个表中的符合条件的数据的话,则可以使用下面的方法

mysqldump -uroot -p --where "count>30 " dbname tbname > tb.sql

其中--where参数就是备份的条件,就和我们在SELECT语句中使用WHERE从句时一样。

最后

以上就是跳跃飞鸟为你收集整理的mysql mysqldump触发器备份_MySQL常用的备份工具之mysqldump的全部内容,希望文章能够帮你解决mysql mysqldump触发器备份_MySQL常用的备份工具之mysqldump所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部