在日常维护工作当中经常会需要对数据进行导出操作,而mysqldump是导出数据过程中使用非常频繁的一个工具;它自带的功能参数非常多,文章中会列举出一些常用的操作,在文章末尾会将所有的参数详细说明列出来。
语法:
默认不带参数的导出,导出文本内容大概如下:创建数据库判断语句-删除表-创建表-锁表-禁用索引-插入数据-启用索引-解锁表。
插入测试数据
1.导出所有数据库
该命令会导出包括系统数据库在内的所有数据库
2.导出db1、db2两个数据库的所有数据
3.导出db1中的a1、a2表
注意导出指定表只能针对一个数据库进行导出,且导出的内容中和导出数据库也不一样,导出指定表的导出文本中没有创建数据库的判断语句,只有删除表-创建表-导入数据
4.条件导出,导出db1表a1中id=1的数据
如果多个表的条件相同可以一次性导出多个表
字段是整形
字段是字符串,并且导出的sql中不包含drop table,create table
5.生成新的binlog文件,-F
有时候会希望导出数据之后生成一个新的binlog文件,只需要加上-F参数即可
6.只导出表结构不导出数据,–no-data
7.跨服务器导出导入数据
将h2服务器中的db1数据库的所有数据导入到h3中的db2数据库中,db2的数据库必须存在否则会报错
加上-C参数可以启用压缩传递。
8.将主库的binlog位置和文件名追加到导出数据的文件中,–dump-slave
注意:–dump-slave命令如果当前服务器是从服务器那么使用该命令会执行stop slave来获取master binlog的文件和位置,等备份完后会自动执行start slave启动从服务器。但是如果是大的数据量备份会给从和主的延时变的更大,使用–dump-slave获取到的只是当前的从服务器的数据执行到的主的binglog的位置是(relay_mater_log_file,exec_master_log_pos),而不是主服务器当前的binlog执行的位置,主要是取决于主从的数据延时。
该参数在在从服务器上执行,相当于执行show slave status。当设置为1时,将会以CHANGE MASTER命令输出到数据文件;设置为2时,会在change前加上注释。
该选项将会打开–lock-all-tables,除非–single-transaction被指定。
在执行完后会自动关闭–lock-tables选项。–dump-slave默认是1
9.将当前服务器的binlog的位置和文件名追加到输出文件,–master-data
该参数和–dump-slave方法一样,只是它是记录的是当前服务器的binlog,相当于执行show master status,状态(file,position)的值。
注意:–master-data不会停止当前服务器的主从服务
10.–opt
等同于–add-drop-table, –add-locks, –create-options, –quick, –extended-insert, –lock-tables, –set-charset, –disable-keys 该选项默认开启, 可以用–skip-opt禁用.
11.保证导出的一致性状态–single-transaction
该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎(它不显示加锁通过判断版本来对比数据),仅InnoDB。本选项和–lock-tables 选项是互斥的,因为LOC开发云主机域名K TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用–quick 选项。
12.–lock-tables, -l
开始导出前,锁定所有表。用READ LOCAL锁定表以允许MyISAM表并行插入。对于支持事务的表例如InnoDB和BDB,–single-transaction是一个更好的选择,因为它根本不需要锁定表。
请注意当导出多个数据库时,–lock-tables分别为每个数据库锁定表。因此,该选项不能保证导出文件中的表在数据库之间的逻辑一致性。不同数据库表的导出状态可以完全不同。
13.导出存储过程和自定义函数–routines, -R
14.压缩备份
参数说明:
1.unknown option ‘–no-beep’
文章中列举了一些常用的导出操作,还有很多其它的参数也会经常用到,包括“–add-drop-database”,“–apply-slave-statements”,“–triggers”等。客户端的导入导出功能也是不错的选择,比如workbench、navicat;其中navicat的导出向导中可以有很多文件格式可以选择。
–tab的快速导出导入数据是个不错的方法,它会在指定的目录下生成一个sql表结构文件和一个text数据文件
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.7/binary/tarball/percona-xtrabackup-2.4.7-Linux-x86_64.ta…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。