最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

[mysqldumpslow报错]Diedat/usr/local/mysql/bin/mysqldumps_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 19:18:00
文档

[mysqldumpslow报错]Diedat/usr/local/mysql/bin/mysqldumps_MySQL

[mysqldumpslow报错]Diedat/usr/local/mysql/bin/mysqldumps_MySQL:mysqldump mysqldumpslow报错:Died at /usr/local/mysql/bin/mysqldumpslow line 161, <> chunk 236.总结:是因为top数目太多了,mysqldumpslow遍历不过来的缘故。/usr/local/mysql/bin/mysqldumpslow -s -t 1
推荐度:
导读[mysqldumpslow报错]Diedat/usr/local/mysql/bin/mysqldumps_MySQL:mysqldump mysqldumpslow报错:Died at /usr/local/mysql/bin/mysqldumpslow line 161, <> chunk 236.总结:是因为top数目太多了,mysqldumpslow遍历不过来的缘故。/usr/local/mysql/bin/mysqldumpslow -s -t 1

mysqldump

mysqldumpslow报错:Died at /usr/local/mysql/bin/mysqldumpslow line 161, <> chunk 236.总结:是因为top数目太多了,mysqldumpslow遍历不过来的缘故。

/usr/local/mysql/bin/mysqldumpslow -s -t 15 /root/db01-102-slow.log

1,把r去掉试试,还是报错,参数不识别。

[root@slave ]# /usr/local/mysql/bin/mysqldumpslow -s -t 15 /root/db01-102-slow.log Reading mysql slow query log from 15 /root/db01-102-slow.logCan't open 15: 没有那个文件或目录 at /usr/local/mysql/bin/mysqldumpslow line 91.Count: 22Time=9.61s (211s)Lock=0.00s (0s)Rows=1.0 (22), [dubbo]@2hostsselect count(*)from coupon_lotleft join coupon on coupon.coupon_lot_id = coupon_lot.coupon_lot_idLEFT JOIN brandON brand.brand_id=coupon_lot.brand_idLEFT JOIN product_categoryon product_category.category_id=coupon_lot.category_idCount: 177Time=1.40s (247s)Lock=0.00s (0s)Rows=1.0 (177), [dubbo]@2hostsselect count(*) from user_infoLEFT JOIN system_region aON province_id =a.region_idLEFT JOIN system_region bON city_id = b.region_idLEFT JOIN system_region cON district_id = c.region_idCount: 22Time=13.20s (290s)Lock=0.00s (0s)Rows=10.0 (220), [dubbo]@2hostsselect coupon_id, coupon_lot.coupon_lot_id, coupon_lot.remark,coupon.code,coupon_lot.coupon_type, coupon.state,coupon_lot.ckey, coupon_lot.cvalue, coupon_lot.discount, coupon_lot.type, coupon_lot.channel, coupon_lot.is_reusable, coupon_lot.start_datetime,coupon_lot.end_datetime, coupon_lot.create_datetime, coupon.update_datetime ,coupon_lot.department,coupon_lot.state as couponLotState, coupon_lot.create_operator,coupon_lot.coupon_category,coupon_lot.pdt_code,brand.brand_name,product_category.category_namefrom coupon_lotleft join coupon on coupon.coupon_lot_id = coupon_lot.coupon_lot_idLEFT JOIN brandON brand.brand_id=coupon_lot.brand_idLEFT JOIN product_categoryon product_category.category_id=coupon_lot.category_idgroup by coupon_lot.coupon_lot_idorder by coupon_lot.create_datetime DESClimit N,NCount: 8Time=1.09s (8s)Lock=0.00s (0s)Rows=10.0 (80), [dubbo]@2hostsselect return_sn,relating_order_sn, return_from,oi.order_out_sn ,add_time , return_type, return_pay, ui.usename as userName, return_consignee, return_goods_count ,return_total_fee, total_paid, return_desc, return_order_status,return_pay_status ,return_shipping_status, order_return.lock_operator, order_return.return_invoice_nofrom order_returnLEFT JOIN order_info oion order_return.relating_order_sn = oi.order_sn left join user_info ui on oi.user_id = ui.user_idleft join order_payment on order_payment.order_sn = oi.order_snorder by order_return.add_time DESClimit N,NCount: 1Time=1.00s (1s)Lock=0.00s (0s)Rows=1.0 (1), root[root]@localhostselect sleep(N)Count: 1Time=1.13s (1s)Lock=0.00s (0s)Rows=10.0 (10), [dubbo]@[xx]select return_sn,relating_order_sn, return_from,oi.order_out_sn ,add_time , return_type, return_pay, ui.usename as userName, return_consignee, return_goods_count ,return_total_fee, total_paid, return_desc, return_order_status,return_pay_status ,return_shipping_status, order_return.lock_operator, order_return.return_invoice_nofrom order_returnLEFT JOIN order_info oion order_return.relating_order_sn = oi.order_sn left join user_info ui on oi.user_id = ui.user_idleft join order_payment on order_payment.order_sn = oi.order_snorder by order_return.add_time DESC, oi.order_sn limit N,NCount: 5Time=2.47s (12s)Lock=0.00s (0s)Rows=0.0 (0), [dubbo]@2hostsselectuser_id, usename, nickname, password, user_group_id, realname, gender, email, mobilephone, birthday, province_id, city_id, district_id, marry, income, remarks, create_datetime, active_state, verityEmail, verityPhone, credit, last_login, last_ip, is_locked, channel, tag, union_partner_uuid, union_user_safekey, is_black, qq, weibo_id, verity_email_key, verity_phone_key, verity_email_datetime, verity_phone_datetime, verity_question, verity_answer, cps_code, cps_time_from, cps_time_to, cps_cookie, first_channelfrom user_info where mobilephone = 'S' and (channel is null or trim(channel) ='S')

2,查看下mysqldumpslow 使用参数,-s后面需要带参数的,看了西夏at比较合适

[root@db-master-2 ~]# /usr/local/mysql/bin/mysqldumpslow--helpUsage: mysqldumpslow [ OPTS... ] [ LOGS... ]Parse and summarize the MySQL slow query log. Options are--verboseverbose--debugdebug--help write this text to standard output-v verbose-d debug-s ORDER what to sort by (al, at, ar, c, l, r, t), 'at' is defaultal: average lock timear: average rows sentat: average query time c: count l: lock time r: rows sent t: query time-r reverse the sort order (largest last instead of first)-t NUM just show the top n queries-a don't abstract all numbers to N and strings to 'S'-n NUM abstract numbers with at least n digits within names-g PATTERN grep: only consider stmts that include this string-h HOSTNAMEhostname of db server for *-slow.log filename (can be wildcard), default is '*', i.e. match all-i NAMEname of server instance (if using mysql.server startup script)-l don't subtract lock time from total time
3,在mysqldumpslow的-s后面加入 at参数试试: [root@slave ]# /usr/local/mysql/bin/mysqldumpslow -s at -t 15 /root/db01-102-slow.log
[root@db-master-2 ~]# /usr/local/mysql/bin/mysqldumpslow -s at -t 15 /root/db01-102-slow.log Reading mysql slow query log from /root/db01-102-slow.logCount: 22Time=13.20s (290s)Lock=0.00s (0s)Rows=10.0 (220), [dubbo]@2hostsselect coupon_id, coupon_lot.coupon_lot_id, coupon_lot.remark,coupon.code,coupon_lot.coupon_type, coupon.state,coupon_lot.ckey, coupon_lot.cvalue, coupon_lot.discount, coupon_lot.type, coupon_lot.channel, coupon_lot.is_reusable, coupon_lot.start_datetime,coupon_lot.end_datetime, coupon_lot.create_datetime, coupon.update_datetime ,coupon_lot.department,coupon_lot.state as couponLotState, coupon_lot.create_operator,coupon_lot.coupon_category,coupon_lot.pdt_code,brand.brand_name,product_category.category_namefrom coupon_lotleft join coupon on coupon.coupon_lot_id = coupon_lot.coupon_lot_idLEFT JOIN brandON brand.brand_id=coupon_lot.brand_idLEFT JOIN product_categoryon product_category.category_id=coupon_lot.category_idgroup by coupon_lot.coupon_lot_idorder by coupon_lot.create_datetime DESClimit N,NCount: 22Time=9.61s (211s)Lock=0.00s (0s)Rows=1.0 (22), [dubbo]@2hostsselect count(*)from coupon_lotleft join coupon on coupon.coupon_lot_id = coupon_lot.coupon_lot_idLEFT JOIN brandON brand.brand_id=coupon_lot.brand_idLEFT JOIN product_categoryon product_category.category_id=coupon_lot.category_idCount: 5Time=2.47s (12s)Lock=0.00s (0s)Rows=0.0 (0), [dubbo]@2hostsselectuser_id, usename, nickname, password, user_group_id, realname, gender, email, mobilephone, birthday, province_id, city_id, district_id, marry, income, remarks, create_datetime, active_state, verityEmail, verityPhone, credit, last_login, last_ip, is_locked, channel, tag, union_partner_uuid, union_user_safekey, is_black, qq, weibo_id, verity_email_key, verity_phone_key, verity_email_datetime, verity_phone_datetime, verity_question, verity_answer, cps_code, cps_time_from, cps_time_to, cps_cookie, first_channelfrom user_info where mobilephone = 'S' and (channel is null or trim(channel) ='S')Count: 177Time=1.40s (247s)Lock=0.00s (0s)Rows=1.0 (177), [dubbo]@2hostsselect count(*) from user_infoLEFT JOIN system_region aON province_id =a.region_idLEFT JOIN system_region bON city_id = b.region_idLEFT JOIN system_region cON district_id = c.region_idCount: 1Time=1.13s (1s)Lock=0.00s (0s)Rows=10.0 (10), [dubbo]@[10.10.3.8]select return_sn,relating_order_sn, return_from,oi.order_out_sn ,add_time , return_type, return_pay, ui.usename as userName, return_consignee, return_goods_count ,return_total_fee, total_paid, return_desc, return_order_status,return_pay_status ,return_shipping_status, order_return.lock_operator, order_return.return_invoice_nofrom order_returnLEFT JOIN order_info oion order_return.relating_order_sn = oi.order_sn left join user_info ui on oi.user_id = ui.user_idleft join order_payment on order_payment.order_sn = oi.order_snorder by order_return.add_time DESC, oi.order_sn limit N,NCount: 8Time=1.09s (8s)Lock=0.00s (0s)Rows=10.0 (80), [dubbo]@2hostsselect return_sn,relating_order_sn, return_from,oi.order_out_sn ,add_time , return_type, return_pay, ui.usename as userName, return_consignee, return_goods_count ,return_total_fee, total_paid, return_desc, return_order_status,return_pay_status ,return_shipping_status, order_return.lock_operator, order_return.return_invoice_nofrom order_returnLEFT JOIN order_info oion order_return.relating_order_sn = oi.order_sn left join user_info ui on oi.user_id = ui.user_idleft join order_payment on order_payment.order_sn = oi.order_snorder by order_return.add_time DESClimit N,NCount: 1Time=1.00s (1s)Lock=0.00s (0s)Rows=1.0 (1), root[root]@localhostselect sleep(N)Died at /usr/local/mysql/bin/mysqldumpslow line 161, <> chunk 236.
看到后面还是报错:Died at /usr/local/mysql/bin/mysqldumpslow line 161, <> chunk 236.4,去看看/usr/local/mysql/bin/mysqldumpslow的第161行左右,到底是在操作什么脚本。

156 my @sorted = sort { $stmt{$b}->{$opt{s}} <=> $stmt{$a}->{$opt{s}} } keys %stmt;157 @sorted = @sorted[0 .. $opt{t}-1] if $opt{t};158 @sorted = reverse @sorted if $opt{r};159 160 foreach (@sorted) {161 my $v = $stmt{$_} || die;162 my ($c, $t,$at, $l,$al, $r,$ar) = @{ $v }{qw(c t at l al r ar)};163 my @users = keys %{$v->{users}};164 my $user= (@users==1) ? $users[0] : sprintf "%dusers",scalar @users;165 my @hosts = keys %{$v->{hosts}};166 my $host= (@hosts==1) ? $hosts[0] : sprintf "%dhosts",scalar @hosts;167 printf "Count: %dTime=%.2fs (%ds)Lock=%.2fs (%ds)Rows=%.1f (%d), $user/@$host/n%s/n/n",168 $c, $at,$t, $al,$l, $ar,$r, $_;169 }170 171 sub usage {172 my $str= shift;
看到主要是foreach (@sorted)遍历函数,也就是遍历到chunk 236的时候就died结束了,没有办法往下继续foreach了。因为以前写过代码,知道报错所在的这一行
my $v = $stmt{$_} || die;
是遍历第一句,那么肯定是赋值语句,报错Died,chunk 236肯定是已经遍历到末尾没有数据了,看这个函数没有判断传入的参数是否为null的逻辑,所以当文件数据已经遍历完,但是命令还没有结束,所以继续遍历,遍历null的时候报错,所以进程中止了,解决办法就是做个限制不要遍历超过原始数据的字符串长度。那么我们再来看执行的命令:

/usr/local/mysql/bin/mysqldumpslow -s at -t 15 /root/db01-102-slow.log有 -t 15这一句,那么就是要显示出前15个记录,那么如果我的slow.log统计出来只有12个不到15个,而这里有继续遍历到15的话,那进程肯定会Died。

所以这里有2个解决方案:

1 修改/usr/local/mysql/bin/mysqldumpslow里面的源代码,加null判断。

这个过程有些复杂,暂时略过吧,期待后续空了再研究。

2 修改命令 /usr/local/mysql/bin/mysqldumpslow -s at -t 15 /root/db01-102-slow.log ,把-t 15修改成-t 10或者-t 5试试。

试了好几次,发现临界点在-t 7上面,如下:

[root@slave~]# /usr/local/mysql/bin/mysqldumpslow -s at -t 8 /root/db01-102-slow.log Reading mysql slow query log from /root/db01-102-slow.logCount: 22Time=13.20s (290s)Lock=0.00s (0s)Rows=10.0 (220), [dubbo]@2hostsselect coupon_id, coupon_lot.coupon_lot_id, coupon_lot.remark,coupon.code,coupon_lot.coupon_type, coupon.state,coupon_lot.ckey, coupon_lot.cvalue, coupon_lot.discount, coupon_lot.type, coupon_lot.channel, coupon_lot.is_reusable, coupon_lot.start_datetime,coupon_lot.end_datetime, coupon_lot.create_datetime, coupon.update_datetime ,coupon_lot.department,coupon_lot.state as couponLotState, coupon_lot.create_operator,coupon_lot.coupon_category,coupon_lot.pdt_code,brand.brand_name,product_category.category_namefrom coupon_lotleft join coupon on coupon.coupon_lot_id = coupon_lot.coupon_lot_idLEFT JOIN brandON brand.brand_id=coupon_lot.brand_idLEFT JOIN product_categoryon product_category.category_id=coupon_lot.category_idgroup by coupon_lot.coupon_lot_idorder by coupon_lot.create_datetime DESClimit N,NCount: 22Time=9.61s (211s)Lock=0.00s (0s)Rows=1.0 (22), [dubbo]@2hostsselect count(*)from coupon_lotleft join coupon on coupon.coupon_lot_id = coupon_lot.coupon_lot_idLEFT JOIN brandON brand.brand_id=coupon_lot.brand_idLEFT JOIN product_categoryon product_category.category_id=coupon_lot.category_idCount: 5Time=2.47s (12s)Lock=0.00s (0s)Rows=0.0 (0), [dubbo]@2hostsselectuser_id, usename, nickname, password, user_group_id, realname, gender, email, mobilephone, birthday, province_id, city_id, district_id, marry, income, remarks, create_datetime, active_state, verityEmail, verityPhone, credit, last_login, last_ip, is_locked, channel, tag, union_partner_uuid, union_user_safekey, is_black, qq, weibo_id, verity_email_key, verity_phone_key, verity_email_datetime, verity_phone_datetime, verity_question, verity_answer, cps_code, cps_time_from, cps_time_to, cps_cookie, first_channelfrom user_info where mobilephone = 'S' and (channel is null or trim(channel) ='S')Count: 177Time=1.40s (247s)Lock=0.00s (0s)Rows=1.0 (177), [xx]@2hostsselect count(*) from user_infoLEFT JOIN system_region aON province_id =a.region_idLEFT JOIN system_region bON city_id = b.region_idLEFT JOIN system_region cON district_id = c.region_idCount: 1Time=1.13s (1s)Lock=0.00s (0s)Rows=10.0 (10), [xx]@[xxx]select return_sn,relating_order_sn, return_from,oi.order_out_sn ,add_time , return_type, return_pay, ui.usename as userName, return_consignee, return_goods_count ,return_total_fee, total_paid, return_desc, return_order_status,return_pay_status ,return_shipping_status, order_return.lock_operator, order_return.return_invoice_nofrom order_returnLEFT JOIN order_info oion order_return.relating_order_sn = oi.order_sn left join user_info ui on oi.user_id = ui.user_idleft join order_payment on order_payment.order_sn = oi.order_snorder by order_return.add_time DESC, oi.order_sn limit N,NCount: 8Time=1.09s (8s)Lock=0.00s (0s)Rows=10.0 (80), [xx]@2hostsselect return_sn,relating_order_sn, return_from,oi.order_out_sn ,add_time , return_type, return_pay, ui.usename as userName, return_consignee, return_goods_count ,return_total_fee, total_paid, return_desc, return_order_status,return_pay_status ,return_shipping_status, order_return.lock_operator, order_return.return_invoice_nofrom order_returnLEFT JOIN order_info oion order_return.relating_order_sn = oi.order_sn left join user_info ui on oi.user_id = ui.user_idleft join order_payment on order_payment.order_sn = oi.order_snorder by order_return.add_time DESClimit N,NCount: 1Time=1.00s (1s)Lock=0.00s (0s)Rows=1.0 (1), root[root]@localhostselect sleep(N)Died at /usr/local/mysql/bin/mysqldumpslow line 161, <> chunk 236.-- 临界点 -t 7[root@db-master-2 ~]# /usr/local/mysql/bin/mysqldumpslow -s at -t 7 /root/db01-102-slow.log Reading mysql slow query log from /root/db01-102-slow.logCount: 22Time=13.20s (290s)Lock=0.00s (0s)Rows=10.0 (220), [xx]@2hostsselect coupon_id, coupon_lot.coupon_lot_id, coupon_lot.remark,coupon.code,coupon_lot.coupon_type, coupon.state,coupon_lot.ckey, coupon_lot.cvalue, coupon_lot.discount, coupon_lot.type, coupon_lot.channel, coupon_lot.is_reusable, coupon_lot.start_datetime,coupon_lot.end_datetime, coupon_lot.create_datetime, coupon.update_datetime ,coupon_lot.department,coupon_lot.state as couponLotState, coupon_lot.create_operator,coupon_lot.coupon_category,coupon_lot.pdt_code,brand.brand_name,product_category.category_namefrom coupon_lotleft join coupon on coupon.coupon_lot_id = coupon_lot.coupon_lot_idLEFT JOIN brandON brand.brand_id=coupon_lot.brand_idLEFT JOIN product_categoryon product_category.category_id=coupon_lot.category_idgroup by coupon_lot.coupon_lot_idorder by coupon_lot.create_datetime DESClimit N,NCount: 22Time=9.61s (211s)Lock=0.00s (0s)Rows=1.0 (22), [dubbo]@2hostsselect count(*)from coupon_lotleft join coupon on coupon.coupon_lot_id = coupon_lot.coupon_lot_idLEFT JOIN brandON brand.brand_id=coupon_lot.brand_idLEFT JOIN product_categoryon product_category.category_id=coupon_lot.category_idCount: 5Time=2.47s (12s)Lock=0.00s (0s)Rows=0.0 (0), [xx]@2hostsselectuser_id, usename, nickname, password, user_group_id, realname, gender, email, mobilephone, birthday, province_id, city_id, district_id, marry, income, remarks, create_datetime, active_state, verityEmail, verityPhone, credit, last_login, last_ip, is_locked, channel, tag, union_partner_uuid, union_user_safekey, is_black, qq, weibo_id, verity_email_key, verity_phone_key, verity_email_datetime, verity_phone_datetime, verity_question, verity_answer, cps_code, cps_time_from, cps_time_to, cps_cookie, first_channelfrom user_info where mobilephone = 'S' and (channel is null or trim(channel) ='S')Count: 177Time=1.40s (247s)Lock=0.00s (0s)Rows=1.0 (177), [xx]@2hostsselect count(*) from user_infoLEFT JOIN system_region aON province_id =a.region_idLEFT JOIN system_region bON city_id = b.region_idLEFT JOIN system_region cON district_id = c.region_idCount: 1Time=1.13s (1s)Lock=0.00s (0s)Rows=10.0 (10), [dubbo]@[xxx]select return_sn,relating_order_sn, return_from,oi.order_out_sn ,add_time , return_type, return_pay, ui.usename as userName, return_consignee, return_goods_count ,return_total_fee, total_paid, return_desc, return_order_status,return_pay_status ,return_shipping_status, order_return.lock_operator, order_return.return_invoice_nofrom order_returnLEFT JOIN order_info oion order_return.relating_order_sn = oi.order_sn left join user_info ui on oi.user_id = ui.user_idleft join order_payment on order_payment.order_sn = oi.order_snorder by order_return.add_time DESC, oi.order_sn limit N,NCount: 8Time=1.09s (8s)Lock=0.00s (0s)Rows=10.0 (80), [dubbo]@2hostsselect return_sn,relating_order_sn, return_from,oi.order_out_sn ,add_time , return_type, return_pay, ui.usename as userName, return_consignee, return_goods_count ,return_total_fee, total_paid, return_desc, return_order_status,return_pay_status ,return_shipping_status, order_return.lock_operator, order_return.return_invoice_nofrom order_returnLEFT JOIN order_info oion order_return.relating_order_sn = oi.order_sn left join user_info ui on oi.user_id = ui.user_idleft join order_payment on order_payment.order_sn = oi.order_snorder by order_return.add_time DESClimit N,NCount: 1Time=1.00s (1s)Lock=0.00s (0s)Rows=1.0 (1), root[root]@localhostselect sleep(N)[root@db-master-2 ~]#

最终总结:
mysqldumpslow报错:Died at /usr/local/mysql/bin/mysqldumpslow line 161, <> chunk 236. 是因为top数目太多了,mysqldumpslow遍历不过来的缘故。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

[mysqldumpslow报错]Diedat/usr/local/mysql/bin/mysqldumps_MySQL

[mysqldumpslow报错]Diedat/usr/local/mysql/bin/mysqldumps_MySQL:mysqldump mysqldumpslow报错:Died at /usr/local/mysql/bin/mysqldumpslow line 161, <> chunk 236.总结:是因为top数目太多了,mysqldumpslow遍历不过来的缘故。/usr/local/mysql/bin/mysqldumpslow -s -t 1
推荐度:
标签: at bin mysql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top