DB 관리를 하다보면 별일이 다 생기죠.
mysql 구동 중 mysql이 어떤 쿼리를 실행 중 그 쿼리가 실행이 종료 되지 않아서
mysql 락이 걸릴 때가 있어요.
락이 걸리면 난감합니다.
이 때 해결 방안은 총 3가지 입니다.
1. workbench나 dbeaver 등 본인이 쿼리를 실행한 프로그램을 종료하고 재접속
2. 해당하는 프로세스를 찾아 종료
3. 아파치나 mysql을 리부팅
2번의 경우 아래와 같이 하시면 됩니다.
2-1. 먼저 mysql 을 접속해주시고
root@localhost ~>mysql -u root -p
Enter password:
앞의 위치는 외부에서 접속하느냐 본인 서버에서 직접 접속하느냐에 따라 달라질수 있는건 다들 아시죠?
2-2 .프로세스 체크
mysql > SHOW PROCESSLIST;
[주의사항] mysql 명령문은 대문자로 써야되요!!
+---------+-------------+-----------+-------------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+---------+-------------+-----------+-------------+---------+------+-------+------------------+
| 9921441 | c | localhost | co | Query | 0 | NULL | show processlist |
+---------+-------------+-----------+-------------+---------+------+-------+------------------+
위를 보시면 Id는 프로세스 ID
Commond 는 실행 중인 쿼리
나머지는 영문 그대로 보시면 알 수 있을 듯 ^^
2-3. 원하는 프로세스 종료
mysql > KILL 프로세스 ID
어떤 명령인지 모르겠다 싶으시면 lock 걸린 time을 비교해서 찾으시면 쉽습니다.
3번의 경우 아래와 같이 하시면 됩니다.
→ service mysql 대신 /etc/init.d/mysql,
→ service mysqld 대신 /etc/init.d/mysqld를 써도 됨
| mysql 종료
mysql > quit
bye
'코딩 | 개념 정리 > MySQL' 카테고리의 다른 글
Mysql 서버에서 직접 export, import (0) | 2021.01.12 |
---|---|
Mysql 테이블 데이터 지우기 Delete / Truncate (0) | 2021.01.11 |
[MySQL] 컬럼명 변경, 컬럼 타입 변경, 컬럼 추가, 컬럼 삭제 정리 (0) | 2020.12.31 |
[Mysql] 엑셀 DB업로드시 확인해야 할 사항 (0) | 2020.12.31 |
workbench에서 comment line 설정하기 (0) | 2020.12.27 |