Linux学习笔记:mysqldump

Mysqldump是一个客户端程序,用于导出数据,适合用于开发、DBA测试等工作。在它的man帮助里,提及到,mysqldump进行的是逻辑备份,生成的内容是一堆SQL语句。也可以输出为csv、文本文件(其他分割符号)、XML格式。

Mysqldump要求起码具备select、show view、trigger、lock tables权限(前提是未使用—single-transaction选项)。

当要重新导入dump文件时,需要具备dump文件中所有sql语句的对应权限(例如create database、create table之类的)

如果所使用的数据库引擎是MyISAM,可以使用mysqlhotcopy。

对于大量数据的备份,Mysqldump并不是一个快速和可扩展的备份方案。因为尽管它导出需要些时间,但导入更慢,因为涉及到磁盘IO、重建索引等等。应考虑使用物理备份:如果是混合引擎的数据库,应使用mysqlbackup,可以提供最佳性能与最小停机,企业应考虑使用它来进行备份;如果只有MyISAM引擎,则应使用mysqlhotcopy。

Mysqldump会使用内存做导出结果的缓存,但对于大量的数据来说,会比较消耗内存,可以搭配—quick选项来避免使用缓存;如果一定要使用缓存,可以使用—skip-opt选项。

Mysqldump的写法:

Mysqldump [选项] db_name [tbl_name….]  这种写法导出表数据。

Mysqldump [选项] –databasesdb_name ….  这种写法导出整个数据库。

Mysqldump [选项] –all-databases 这种写法导出所有数据库。

Mysqldump默认不导出INFORMATION_SCHEMA或performance_schema 数据库,如果需要,则需要显式指出,并使用--skip-lock-tables选项。

在MySQL 5.5.25以前,mysqldump不导出general_log 或 slow_query_log;从MySQL 5.5.25开始,mysqldump导出时包含了创建这些表的语句,使得恢复数据时,能创建出这些表,但表的内容不会恢复。

Mysqldump也不会导出MySQL集群的ndbinfoinformation数据库

Mysqldump有一些选项的缩写

·  --opt 代表了--add-drop-table, --add-locks, --create-options, --disable-keys,--extended-insert, --lock-tables, --quick, --set-charset 。而且—opt默认是开启的。

·  --compact代表了--skip-add-drop-table, --skip-add-locks, --skip-comments,--skip-disable-keys, --skip-set-charset

如果想关闭一个选项组内的部分功能,可以这样指定,命令组–skip-xxx ,举例

--opt –skip-quick代表使用opt选项组,但关闭quick功能。

--skip-opt –quick代表关闭整个opt选项组,但开启quick功能

更多选项参考man mysqldump

时间: 2024-10-12 11:45:22

Linux学习笔记:mysqldump的相关文章

linux学习笔记(一)-文件目录相关的命令&&文件通配符

一.几个命令概述 1.查看目录以及目录底下的文件:ls(-a显示隐藏文件:-d显示目录本身:-l显示详细内容:-R递归显示,即把子目录的文件也显示出来:-h以更加被人类理解的格式显示,比如显示文件大小的时候用M为单位显示:-i显示文件索引ID) 2.查看文件内容:cat,head,tail,less,more,tac cat:将文件连接起来,输出在屏幕上,可接多个文件(-E:显示隐藏的换行符:-n:显示出行号) head:默认查看文件的前10行(-n#:查看文件的前#行.空白行也是一行) tai

Linux学习笔记四:Linux的文件搜索命令

1.文件搜索命令  which 语法:which [命令名称] 范例:$which ls  列出ls命令所在目录 [[email protected] ~]$ which ls alias ls='ls --color=auto' /bin/ls 另外一个命令:whereis [名称名称],也可以列出命令所在目录. [[email protected] ~]$ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/ma

Linux学习笔记——例说makefile 增加系统共享库

0.前言 从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力.所以特意借助博客总结makefile的相关知识,通过例子说明makefile的具体用法. 例说makefile大致分为4个部分 1.只有单个C文件 2.含有多个C文件 3.需要包括头文件路径 4.增加宏定义 5.增加系统共享库 6.增加自定义共享库 7.一个实际的例子 [代码仓库]--makefile-example

Linux学习笔记——如何使用echo指令向文件写入内容

0.前言 本文总结如何使用echo命令向文件中写入内容,例如使用echo指令覆盖文件内容,使用echo指令向文件追加内容,使用echo指令往文件中追加制表符. echo向文件中输出内容的基本方法是使用IO重定向指令--">",默认情况下echo输出到标准输出中,使用>指令可重定向输出到文件中. 1.echo指令基本用法 [1]Linux官方用户手册--echo指令 [2]输入指令获得帮助 sudo echo --help 返回内容如下 用法:echo [短选项]... [字

linux学习笔记--vim程序编辑器

1,在linux系统中使用文本编辑器来编辑自己的linux参数配置文件是一件很重要的事情,因此系统管理员至少应该要熟悉一种文本编辑器. 2,不同的linux distribution各有不同的附加软件,linux命令行界面下的文本编辑器有Emacs,pico,nano,joe与vim 3,学习vim的重要性 (1)所有的UNIX Like系统都内置vi文本编辑器,其他的文本编辑器不一定存在 (2)很多软件的编辑接口都会主动调用vi (3)vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确

linux学习笔记-type命令

语法: type [-tpa] name 参数: type:    不加任何参数时,type会显示出name是外部命令还是内部bash内置命令 -t:      当加入-t参数时,type会将name以下面这些字眼显示出它的意义 file:表示为外部命令 alias:表示该命令为命令别名所设置的名称 builtin:表示该命令为bash内置的命令功能 -p:     如果后面接的name为外部命令时,才显示完整文件名 -a:     会有path变量定义的路径中,将所有含有name的命令都列出来

Linux学习笔记三:Linux的权限处理命令

1.改变文件或目录权限  chmod 语法:chmod [{ugo} {+-=} {rwx}] [文件或目录] 或 [mode] [文件或目录] 第一种语法中: 这里的u是所有者,g是指所属组,o是指其他人 +是指增加权限,-是指减少权限,=是指赋予权限 r是指读权限,w是指写权限.x只是执行权限 第二种语法中: 在这里,r的值是4,w的值是2,x的值是1. 这里写的mode,是指一组数字.如:421.这里的421,是指所有者所拥有权限的数字总和是4,所属组所拥有权限的总和是2,其他人所拥有权限

Linux学习笔记033_10

网卡命名: eth0,eth1 子接口(一个网卡上多个IP):eth0:1,eth0:2 ifconfig: 查看网卡信息 ifup ethx:开启网卡 ifdown ethx:关闭网卡 配置网卡: 图形 命令: ONBOOT为yes表示启动计算机时通过网卡 全局网络配置: 第一行为开启ipv4,第二行为开启ipv6,第三行为计算机名,注意计算机名在DNS要解析到,如clc.com 可以加一行:GATWAY=192.168.1.254,不过以network-scripts中的网关优先级高 DNS

Linux学习笔记033_11进程

ps:(process information,静态的) 显示进程信息,不加参数显示当前终端的进程 a:包括所有终端的进程 x:不属于任何终端的进程,和任何用户无关系的进程 u:显示出进程的拥有人 f:显示进程的附属关系(依赖关系,父子进程) USER:进程的拥有人 PID:进程ID,默认用进程ID排序 VSZ:程序在运行时调用多少虚拟内存 RSS:真实内存 TTY:?不属于任何终端,进入终端之前就运行 STAT:状态,s为睡眠 TIME:进程持续时间 COMMAND:运行这个进程的指令 ps

Linux学习笔记——虚拟机中安装VMware Tools

0 前言 VMware Tools是VMware虚拟机中自带的一种增强工具,只有在VMware虚拟机中安装好了VMware Tools,才能实现主机与虚拟机之间的文件共享,实现文件在虚拟机之间的复制粘贴. 最近购买了周立功的一款EasyARM开发板,作为树莓派Linux学习的补充.在虚拟机中安装了周立功提供的ubuntu镜像,总觉得在主机和PC机之间直接复制粘贴才爽,所以又安装了Vmware Tools.     [相关博文] [ Linux学习笔记--vmware plarer中安装ubunt