问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

mysql数据使用逻辑备份mysqldump备份出来的文件有多大

发布网友 发布时间:2022-04-29 05:50

我来回答

3个回答

热心网友 时间:2022-04-07 22:51

命令没啥问题,数据文件是二进制文件,备份出来的是转换为SQL语句的文本文件,当然更大了,另外超过10G的数据库备份还原最好使用专门的工具。追问一般都用什么工具?

追答Percona XtraBackup 这玩意是开源的

热心网友 时间:2022-04-08 00:09

mysqlmp备份同样大小的数据库的sql大小会比原文件大一些,如果一直有问题,你可以试试用第三方工具如“多备份”来备份MySQL数据库试一下,自动压缩打包个人感觉比mysqlmp好用很多,你可以试试追问你要是会就回答,不会就算了,粘别人的答案有什么意义

热心网友 时间:2022-04-08 01:44

背景

有人问mysqlmp出来的insert语句,是否可以按每 10 row 一条insert语句的形式组织。


思考1:参数--extended-insert回忆过去所学:

我只知道有一对参数

--extended-insert(默认值)

表示使用长 INSERT ,多 row 在合并一起批量 INSERT,提高导入效率

--skip-extended-insert一行一个的短INSERT

均不满足群友需求,无法控制按每 10 row 一条 insert 语句的形式组织。


思考2:“避免大事务”之前一直没有考虑过这个问题。这个问题的提出,相信主要是为了“避免大事务”。所以满足 insert 均为小事务即可。下面,我们来探讨一下以下问题:1. 什么是大事务?

2. 那么 mysqlmp 出来的 insert 语句可能是大事务吗?

什么是大事务?

    定义:运行时间比较长,操作的数据比较多的事务我们称之为大事务。

    大事务风险:

    ∘ 锁定太多的数据,造成大量的阻塞和锁超时,回滚所需要的时间比较长。

    ∘ 执行时间长,容易造成主从延迟。

    ∘ undo log膨胀

    避免大事务:我这里按公司实际场景,规定了,每次操作/获取数据量应该少于5000条,结果集应该小于2Mmysqlmp出来的SQL文件有大事务吗?

    前提,MySQL 默认是自提交的,所以如果没有明确地开启事务,一条 SQL 语句就是一条事务。在 mysqlmp 里,就是一条 SQL 语句为一条事务。

    按照我的“避免大事务”自定义规定,答案是没有的。原来,mysqlmp 会按照参数--net-buffer-length,来自动切分 SQL 语句。默认值是 1M。按照我们前面定义的标准,没有达到我们的 2M 的大事务标准。--net-buffer-length 最大可设置为 16777216,人手设置大于这个值,会自动调整为 16777216,即 16M。设置 16M,可以提升导出导入性能。如果为了避免大事务,那就不建议调整这个参数,使用默认值即可。[root@192-168-199-198 ~]# mysqlmp --net-buffer-length=104652800 -uroot -proot -P3306 -h192.168.199.198 test t >16M.sqlmysqlmp: [Warning] option 'net_buffer_length': unsigned value 104652800 adjusted to 16777216#设置大于16M,参数被自动调整为16M

    注意,指的是 mysqlmp 的参数,而不是 mysqld 的参数。官方文档提到: If you increase this variable, ensure that the MySQL server net_buffer_length system variable has a value at least this large.

    意思是 mysqlmp 增大这个值,mysqld 也得增大这个值,测试结论是不需要的。怀疑官方文档有误。

    不过,在导入的时候,受到服务器参数 max_allowed_packet 影响,它控制了服务器能接受的数据包的最大大小,默认值是 4194304,即 4M。所以导入数据库时需要调整参数 max_allowed_packet 的值。set global max_allowed_packet=16*1024*1024*1024;
    不调整的话,会出现以下报错:[root@192-168-199-198 ~]# mysql -uroot -proot -P3306 -h192.168.199.198 test <16M.sqlmysql: [Warning] Using a password on the command line interface can be insecure.ERROR 2006 (HY000) at line 46: MySQL server has gone away
    相关测试最后,我放出我的相关测试步骤mysql> select version();+------------+| version()  |+------------+| 5.7.26-log |+------------+1 row in set (0.00 sec)
    造100万行数据

    create database test;

    use test;

    CREATE TABLE `t` (

    `a` int(11) DEFAULT NULL,

    `b` int(11) DEFAULT NULL,

    `c` varchar(255) DEFAULT NULL

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    insert into t values (1,1,'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyztuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz');

    insert into t select * from t; #重复执行20次

    # 直到出现Records: 524288  Duplicates: 0  Warnings: 0

    # 说明数据量达到100多万条了。

    mysql> select count(*) from t;

    +----------+

    | count(*) |

    +----------+

    |  1048576 |

    +----------+

    1 row in set (1.04 sec)

    数据大小如下,有 284MB[root@192-168-199-198 test]# pwd/data/mysql/mysql3306/data/test[root@192-168-199-198 test]# -sh t.ibd284M    t.ibd
    --net-buffer-length=1M[root@192-168-199-198 ~]# mysqlmp -uroot -proot -S /tmp/mysql3306.sock test t >1M.sql[root@192-168-199-198 ~]# -sh 1M.sql225M    1M.sql[root@192-168-199-198 ~]# cat 1M.sql |grep -i insert |wc -l226
    默认 --net-buffer-length=1M 的情况下,225M 的SQL文件里有 226 条 insert ,平均下来确实就是每条 insert 的 SQL 大小为 1M。

    --net-buffer-length=16M

    [root@192-168-199-198 ~]# mysqlmp --net-buffer-length=16M -uroot -proot -S /tmp/mysql3306.sock test t >16M.sql[root@192-168-199-198 ~]# -sh 16M.sql225M    16M.sql[root@192-168-199-198 ~]# cat 16M.sql |grep -i insert |wc -l15
    默认--net-buffer-length=16M 的情况下,225M 的 SQL 文件里有 15 条 insert,平均下来确实就是每条 insert 的 SQL 大小为 16M。所以,这里证明了 --net-buffer-length 确实可用于拆分 mysqlmp 备份文件的SQL大小的。性能测试insert 次数越多,交互次数就越多,性能越低。 但鉴于上面例子的 insert 数量差距不大,只有 16 倍,性能差距不会很大(实际测试也是如此)。我们直接对比 --net-buffer-length=16K 和 --net-buffer-length=16M 的情况,他们insert次数相差了 1024 倍。

    [root@192-168-199-198 ~]# time mysql -uroot -proot -S /tmp/mysql3306.sock test <16K.sql

    mysql: [Warning] Using a password on the command line interface can be insecure.

    real    0m10.911s  #11秒

    user    0m1.273s

    sys    0m0.677s

    [root@192-168-199-198 ~]# mysql -uroot -proot -S /tmp/mysql3306.sock -e "reset master";

    mysql: [Warning] Using a password on the command line interface can be insecure.

    [root@192-168-199-198 ~]# time mysql -uroot -proot -S /tmp/mysql3306.sock test <16M.sql

    mysql: [Warning] Using a password on the command line interface can be insecure.

    real    0m8.083s  #8秒

    user    0m1.669s

    sys    0m0.066s

    结果明显。--net-buffer-length 设置越大,客户端与数据库交互次数越少,导入越快。
    结论mysqlmp 默认设置下导出的备份文件,符合导入需求,不会造成大事务。性能方面也符合要求,不需要调整参数。

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
王者送皮肤要多少亲密度才能送 王者荣耀 王者荣耀送皮肤需要什么条件? 劳动法裁员补偿工资如何计算 庆余年电视剧第一季结局在小说第几章大概啊?想接着追下去 汽油、柴油价格、航空煤油价格它们每升油提高多少呢? 生产制造ERP管理软件系统 做脑部CT检查的危害 年轻人做脑CT危害 我怀孕快两个月了,前几天陪同家人去做了脑部CT,后悔死了。这样会对我... 做脑ct后悔了怎么办? mydumper 基于哪个MYSQL版本开发,debian6 的MYSQL5.1下能否使用 泰柚是凉性还是热性 如何鉴别好的巧克力 我一熬夜就有很重的黑眼圈,有办法快速缓解吗? 有没有什么快速治疗失眠的好方法? 东莞银行在东莞南城的网点 广东东莞银行篮球队主场具体地址 失眠最好的治疗方法 东莞银行万江支行是什么银行 我在东莞银行的房贷22万,还要平安银行还做有平安易贷5万,请问还能在贵行做闪电贷吗? 十年家政阿姨告诉你,怎样洗窗帘又快又干净 收拾屋子太难了,太不好收拾啦 东莞银行投诉电话 家政保洁怎么做大 莞易贷为什么交易时间拒绝明天再来申请是什么意思 莞易贷十万3年,每月利息多少? 贷款逾期问题? 有谁在日本的家政公司上过班,真的服务很好和国内完全 莞易贷60000分期12期逾期四个月之后又还了? 跪求封神榜 (1990)免费在线观看资源 mysql数据文件大小超过5GB,如何用mysqldump备份,或者其它方式? mysqldump 备份数据库发现备份的.sql文件比原文件小 为什么 python,删除有序链表重复元素,为什么没通过 大豆纤维被是什么纤维?冬天用合适吗? 大豆纤维被哪个牌子好- 问一问 梦见自己被一只咖啡色的熊追赶,先是逃脱,后来又被追上是怎么回事啊?求高手解梦! 梦见被熊追赶,我躲进屋中,熊很聪明会打开门闩。但是后来熊就走了 新一代大豆纤维被多少钱 大豆纤维被哪家好呢? 大豆纤维生态被2×2.3米多少钱 大豆纤维被暖和吗 大豆纤维被怎么选 求助,各位大佬们穿紧身裤时如何处理裆部凸 大豆纤维被价格是多少??大豆纤维被有那些优点? 男士穿紧身裤凸露怎么为? jianli大豆纤维被一般多少钱 鸡蛋黄瓜木耳肉能一起炒吗 穿紧身裤怎么避免下凸 急救急救~木耳,肉,黄瓜,鸡蛋,怎么做成一道菜才最好吃? 帅哥穿紧身裤那鼓鼓的,怎么回事
  • 焦点

最新推荐

猜你喜欢

热门推荐