在使用MySQL工具時,有時候我們會發現兩個窗口無法合并在一起,導致無法使用一些功能。下面我們介紹一下這種情況的原因和解決方法。
//使用show processlist命令查看當前正在運行的MySQL進程 mysql>show processlist; +----+------+-----------+------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+------+---------+------+-------+------------------+ | 1 | root | localhost | NULL | Sleep | 0 | | NULL | | 2 | root | localhost | NULL | Query | 0 | starting | show processlist | +----+------+-----------+------+---------+------+-------+------------------+ 2 rows in set (0.00 sec)
在上述例子中,我們使用show processlist命令查看當前正在運行的MySQL進程。
當我們嘗試在這個窗口中使用其他命令時,比如查詢語句,就會出現錯誤信息。
mysql>select * from user; ERROR 2013 (HY000): Lost connection to MySQL server during query
這是因為MySQL進程被阻塞,無法執行新的命令。如果我們嘗試在另外一個窗口中執行相同的命令,結果也會是一樣的。
為了解決這個問題,我們可以通過殺死MySQL進程的方式來恢復正常。具體操作如下:
//使用show processlist命令查看當前正在運行的MySQL進程 mysql>show processlist; //找到需要殺死的進程ID mysql>select * from user where id = 2; //kill掉該進程 mysql>kill 2; //再次使用show processlist命令查看進程列表 mysql>show processlist;
當你使用kill命令殺死了MySQL進程后,你會發現兩個窗口的進程列表都已經被更新,可以繼續正常使用了。
上一篇如何學好css動畫