執行mysql語句卡死

2021-08-29 05:11:18 字數 610 閱讀 7354

問題:執行alter table table1 add column name text(10) not null;時,sql語句卡住不動,如下圖:

思路:1、通過mysql日誌查詢原因,查log語句:select * from information_schema.processlist where command = "query"\g

2、通過log可以看到是資料表被鎖定,鎖定的原因是有其他專案正連線著這個資料庫,所以要更改表首先要斷掉其他鏈結。

解決方法:

先執行下面語句關閉指定表的連線,然後再執行上面修改表的sql語句即可,且不影響其他專案對mysql的操作。

mysql -uroot -p123456 -e 'show processlist' | awk '/table_name/' | xargs -i  mysql -uroot -p123456 -e 'kill {}'

mysql 語句在哪執行 MySQL語句執行過程

平常我們看到的只是一條語句執行出來的結果,並不知道中間發生了什麼,今天就來 一下,mysql語句的執行過程。1.聯結器 每次使用mysql會先連線到資料庫上面,聯結器負責跟客戶端進行連線 mysql u root p 然後根據密碼,判斷我登陸進去會有什麼許可權,並分配許可權給我 通過 show pr...

mysql 語句分析 MySQL語句執行分析

今天客戶那邊遇到乙個問題 多選檔案進行操作,資料量一大後台處理就特別慢,瀏覽器顯示504超時。為了驗證問題是否出在sql語句,所以用以下方法來分析 查詢sql執行記錄 explain 分析 mysql 語句執行時間 下面會分別介紹三個方法的開啟方法。查詢sql執行記錄 查詢日誌功能是否開啟 show...

mysql執行語句 mysql執行sql語句過程

流程概述 mysql得到sql語句後,大概流程如下 1.sql的解析器 負責解析和 sql 2.預處理器 對解析後的sql樹進行驗證 3.查詢優化器 得到乙個執行計畫 4.查詢執行引擎 得到資料結果集 5.將資料放回給呼叫端。流程圖如下所示 分發器及快取階段 首先,如果系統的快取功能開啟著的話,sq...