본문으로 바로가기

1. 명령어

  • Dynamic Variable를 변경할 수 있고 DB를 재시작하지 않아도 변경할 수 있습니다.
  • DB 재시작할 경우 설정 값이 원래 값으로 복구됩니다.
  • 임시 적용
# 형식
set 시스템 변수 이름 = 변경 값; // 세션으로 적용 됨
set global 시스템 변수 이름 = 변경 값;
set session 시스템 변수 이름 = 변경 값;

# Ex)
set global wait_timeout = 200;
set session wait_timeout = 200;
# mysql -u root -p

mysql> show global variables like 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout  | 120   |
+---------------+-------+

mysql> set global wait_timeout = 250;
Query OK, 0 rows affected (0.00 sec)

mysql> show global variables like 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout  | 250   |
+---------------+-------+
1 row in set (0.00 sec)

mysql> exit

// 재시작 할 경우 유지가 되지 않습니다.
# systemctl restart mysql

# mysql -u root -p

mysql> show global variables like 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout  | 120   |
+---------------+-------+
1 row in set (0.00 sec)

 

2. 설정 파일

  • Static Variable를 변경할 수 있고 DB를 재시작해야 합니다.
  • DB 재시작하더라도 값이 유지됩니다.
  • 영구 적용

[설정 파일 경로]

mysql - /etc/my.cnf

mariadb - /etc/my.cnf.d/server.cnf

# vi /etc/my.cnf

// 파일 맨 밑에 작성 후 저장
wait_timeout=250

# systemctl restart mysql

# mysql -u root -p

mysql> show global variables like 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout  | 250   |
+---------------+-------+
1 row in set (0.00 sec)