mysqldump 导致 Waiting for table metadata lock

用mysqldump 做个备份来搭建从库,接到业务人员反映,系统卡住了 ,执行命令: select * from information_schema.processlist where db='semir_33'\G 查看进程,发现有 Waiting for table metadata lock:

*************************** 17. row ***************************
     ID: 6
   USER: system user
   HOST: 
     DB: semir_33
COMMAND: Connect
   TIME: 50
  STATE: Waiting for table metadata lock
   INFO: INSERT INTO `semir_33`.`api_server_log` (req_ip,req_from,cmd,req_status,status_exec,status_ret,start_time,req_data,priv_fields,ck_outer_code) VALUES ('203.119.132.39', 'SEMIR', 'inventory.report', '', 1, 0, 1554107305, 'WP02-S-ZPAD1904010027SEMIR2019-04-01 16:24:53AD1904010027实物缺货AD190401002700504811169011685971706901168597170ZP-1', 'AD1904010027', 'WP02-S-ZP')

难道mysqldump 也会给表加锁,使用命令 show open tables where in_use >0; 查看,发现每张表都加了锁

mysql> show open tables where in_use >0;
+----------+----------------------------------------+--------+-------------+
| Database | Table                                  | In_use | Name_locked |
+----------+----------------------------------------+--------+-------------+
| semir_33 | seq_drp_sdphd                          |      1 |           0 |
| semir_33 | jingdong_promotion                     |      1 |           0 |
| semir_33 | cangku_in_area                         |      1 |           0 |
| semir_33 | bap_yy_pftzda                          |      1 |           0 |
| semir_33 | region_1401087076                      |      1 |           0 |
| semir_33 | goods_print_record                     |      1 |           0 |
| semir_33 | seq_wph_quantity_1558                  |      1 |           0 |
| semir_33 | fengge                                 |      1 |           0 |
| semir_33 | glabuy_inv_tab                         |      1 |           0 |
| semir_33 | taobao_inventory_authorize             |      1 |           0 |
| semir_33 | wphjit_items                           |      1 |           0 |
| semir_33 | message_sent_record                    |      1 |           0 |

如果不想产生锁,需要加上参数 --skip-lock-tables

你可能感兴趣的:(mysql)