mysqldump备份恢复详解:掌握高效导入导出技巧
创始人
2024-12-17 04:35:57
0 次浏览
0 评论
mysqldump默认一行insert最多加多少行
默认情况下,使用mysqldump备份的表记录都在一条insert语句中,导入起来效率比较高,但是,当遇到记录较多的大表时,可能会超出缓存区的大小,可以使用参数来进行。强制一条记录和一条插入语句,例如:mysqldump-uroot-p--skip-optdbname>bak.sql
mysql中备份和还原数据库的语句什么啊
mysqldump备份恢复详解及mysqldump导入导出说明mysqldump备份:mysqldump-u用户名-p密码-h主机数据库a-w"sqlstatus"-lock-all-tables>pathcase:mysqldump-uroot-p1234-hlocalhostdb1a-w"idin(selectidfromb)"--lock-all-tables>c:\aa.txtmysqldump恢复:mysqldump-u用户名-p密码-h主机数据库<路径情况:mysql-uroot-p1234db1要使用多个值,请用逗号分隔它们。
当然,不保证完全兼容,但力求兼容。
--complete-insert,-c使用完整的INSERT方法导出数据,包括字段名称,即将所有值写入一行。
这样做可能会提高插入效率,但可能会受到max_allowed_packet参数的影响而导致插入失败。
因此,这个参数需要谨慎使用,至少我不推荐使用。
--default-character-set=charset指定导出数据时使用的字符集。
如果数据表不使用默认的latin1字符集,导出时使用该选项必须指定,否则导入数据后会产生乱码。
再次。
--disable-keysmysqldump在INSERT语句的开头和结尾添加/*!40000ALTERTABLEtableDISABLEKEYS*/;和/*!40000ALTERTABLEtableENABLEKEYS*/;add语句可以大大提高insert语句的速度,一旦插入数据,只需重建索引即可。
该选项仅适用于MyISAM表。
--expand-insert=true|false默认情况下,mysqldump开启--complete-insert模式,因此如果您不想使用它,只需使用此选项并将其值设置为false即可。
--hex-blob使用十六进制格式导出二进制字符串字段。
如果数据是二进制的,则应使用此选项。
受影响的字段类型为BINARY、VARBINARY和BLOB。
--lock-all-tables,-x在开始导出之前,提交请求锁定所有数据库中的所有表,以确保数据一致性。
这是全局读锁,并且--single-transaction和--lock-tables选项会自动关闭。
--lock-tables与--lock-all-tables相同,但它锁定当前导出的数据表,而不是一次锁定数据库中的所有表。
该选项仅适用于MyISAM表,如果是innodb表,可以使用--single-transaction选项。
--no-create-info,-t只导出数据,不添加create语句。
--no-data,-d不导出任何数据,仅导出数据库表结构。
--opt这只是一个快速选项,相当于添加--add-drop-tables--add-locking--create-option--disable-keys--extended-insert--lock-tables--quick--同时设置-charset选项。
它该选项允许mysqldump快速导出数据,并且导出的数据可以快速导回。
该选项默认启用,但可以使用--skip-opt禁用。
请注意,如果运行mysqldump时未指定--quick或--opt选项,则整个结果集将保留在内存中。
如果导出大型数据库,可能会出现问题。
--quick,-q这个选项在导出大表时很有用,它强制mysqldump从服务器查询记录并获取所有记录并直接输出,而不是将它们缓存在内存中。
--routines,-r导出存储过程和自定义函数。
--single-transaction该选项在导出数据之前提交一个BEGINSQL语句,BEGIN不会阻塞任何应用程序,并且可以保证导出过程中数据库状态的一致。
它仅适用于InnoDB和BDB等事务表。
此选项和--lock-tables选项是互斥的,因为除非隐式提交事务,否则LOCKTABLES将导致任何类型的挂起。
要导出大表,必须结合使用--quick选项。
--triggers还导出触发器。
该选项默认启用,使用--skip-triggers禁用它。
其他参数详细请参考说明书。
我通常使用以下SQL来备份MyISAM表:/usr/local/mysql/bin/mysqldump-uyejr-pyejr"--default-character-set=utf8--opt--expand-insert=false"--triggers-r--hex-blob-xdb_name>innodb表的db_name.sql使用以下SQL进行备份:/usr/local/mysql/bin/mysqldump-uyejr-pyejr"--default-character-set=utf8--opt--extended-insert=false"--trigger-R--hex-blob--cngle-transactiondb_name>db_name.sql另外,如果想要获得在线备份,还可以使用--master-data参数,如下:/usr/local/mysql/bin/mysqldump-uyejr-pyejr"--default-character-set=utf8--opt--master-data=1"--single-transaction--flush-logsdb_name>db_name.sql这个最初只请求锁定的表,然后刷新binlog,然后在导出的文件中添加一条CHANGEMASTER语句来指定当前备份binlog位置,如果你想要这样如果你想恢复slave中的文件,可以使用这个方法。
1.2用mysqldump恢复备份文件是一个SQL脚本,可以直接插入。
导入数据有两种方法。
直接使用MySQL客户端,例如:/usr/local/mysql/bin/mysql-uyejr-pyejrdb_name
相关文章
Python教程:实现字母ASCII码转...
2024-12-18 12:30:19Python格式化字符串与%s、%d等占...
2024-12-18 13:37:30Python判断奇偶数:简单代码实例与技...
2024-12-15 01:08:26Python字符串转整型技巧:使用ato...
2024-12-20 23:30:29Python字符串格式化:三种方法与st...
2024-12-14 17:16:09Python字符串表示方法全解析:单引号...
2024-12-15 18:43:17Python编程:求解1000-2000...
2024-12-16 18:08:15PHP字符编码转换技巧:iconv与mb...
2024-12-15 06:48:50Python数据转换全解析:字符串、列表...
2024-12-14 21:41:42Python文件存在性检查与字符串类型判...
2024-12-22 15:04:09最新文章
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
23
2024-12
热门文章
1
Python编程入门:全面解析Pytho...
python的基本语法基本的Python语法如下:1.变量的定义。在编程语言中,...
2
Python字典操作全解析:添加、修改、...
Pythondict字典基本操作(包括添加、修改、删除键...
3
Python错误处理与异常处理:构建稳定...
2.5错误处理与异常在编程领域,错误处理和异常处理是保证程序稳定性和健壮性的关键...
4
Python数据转换攻略:字符串、列表、...
Python字典、字符串及列表的相互转换Python中数据转换的艺术:从字典和字...
5
Python列表相加与求和技巧解析
重温python基础:列表相加的方法(两个list[]加法)今天,我们来看看Py...
6
Python运行快捷键大揭秘:高效操作,...
python运行按哪个键运行Python时的快捷键包括Ctrl+Shift+F1...
7
Python字符与数字互转攻略:轻松掌握...
python 字符与数字如何转换Python是一种功能强大且结...
8
Python字符串转列表:两种常用方法解...
python怎么将字符串转换为列表Python中将字符串转换为列表的方法有多种,...
9
Python字符串转列表:两种常用方法解...
python怎么将字符串转换为列表在Python中将字符串转换为列表的方法有很多...
10
Python列表转字符串全攻略:掌握四种...
Python列表到字符串–如何在Python中转换列表在Python中,将列表转...