사용자 도구

사이트 도구


database:mysql:config

MySQL 설정

my.cnf 위치

  • /etc/my.cnf
  • /etc/mysql/my.cnf
  • /mysql/MyHome/etc/my.cnf
  • ~/.my.cnf
  • Replication을 사용하지 않을 경우 bin log는 무조건 꺼야 한다. 성능을 저하시키고, 디스크 공간을 차지한다. 아니면 최소한 bin 로그 크기/기간 제약을 걸어야 한다.
    • Linux DB - mysql bin log 관리하기
      # bin log 크기 제한.
      log-bin=/home/mysql_log/bin_log/bin # 빈로그 저장 설정 및 저장할 디렉토리 지정
      binlog_cache_size = 2M # binlog cache 사이즈
      max_binlog_size = 50M # bin로그 최대 파일 사이즈
      expire_logs_days = 10 # 보관기간
    • Disable MySQL binary logging
      # bin log 삭제
      #log-bin
      ...
      #expire_logs_days = 10
    • 실제 bin log 파일은 *-bin.00000숫자 파일들과 .index 확장자의 파일을 백업하고 삭제하면 된다.

charset

Client Options

[client]
protocol=tcp # 로컬 접속시 소켓 대신 TCP 이용 강제
port=3306 # TCP 접속 기본 포트

MySQL Client는 protocol=tcp 옵션이 없으면 항상 /var/run/mysql/mysqld.sock 파일을 통해서만 접속한다. 이 경우에 --port=anotherport 옵션을 아무리 줘도 무시한다. 명령행에서 –protocol=tcp 옵션을 줘야한다.

Connection 갯수 정리

  • /etc/my.cnf
    [mysqld]
    max_connections = 250
  • 최대 커넥션 갯수 확인 mysql에 들어가서
    show variables like 'max_connections';

Client Prompt

Can't connect to MySQL server on 'hostname' (111)

  • ERROR 2003 (HY000): Can't connect to MySQL server on 'hostname' (111) 와 같은 오류가 발생했다.
  • 이 이유는 my.cnf 파일에 bind-address = 127.0.0.1 항목이 있기 때문이다. 이 항목이 있으면 127.0.0.1에서 들어오는 요청만 허용한다.
  • 해당 줄을 주석 처리하거나 bind-address = 0.0.0.0 으로 변경하고 다시 시작한다.

com.mysql.jdbc.PacketTooBigException: Packet for query is too large (x > y). You can change this value on the server by setting the max_allowed_packet' variable

MySQL 클라이언트가 MySQL 서버에 전송한 쿼리의 크기가 지나치게 클 때 발생하는 오류. 한 번에 많은 쿼리를 전송해야 할 경우 max_allowed_packet=16M 형태로 값을 지정해준다.

모든 쿼리 로그 찍기 Query Log

[mysqld]
general_log_file        = /var/log/mysql/mysql.log
general_log             = 1
slow_query_log          = 1
  • log-output=FILE|TABLE|NONE : File은 파일명을 지정하고, TABLE일 경우에는 mysql.general_log, mysql.slow_log로 쿼리를 저장한다.
  • general_log에서 로그 확인
    SELECT * FROM general_log ORDER BY event_time DESC LIMIT 100;
database/mysql/config.txt · 마지막으로 수정됨: 2018/11/09 17:52 저자 kwon37xi