/etc/my.cnf
/etc/mysql/my.cnf
/mysql/MyHome/etc/my.cnf
~/.my.cnf
# 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 # 보관기간
# bin log 삭제 #log-bin ... #expire_logs_days = 10
*-bin.00000숫자
파일들과 .index
확장자의 파일을 백업하고 삭제하면 된다.[client] protocol=tcp # 로컬 접속시 소켓 대신 TCP 이용 강제 port=3306 # TCP 접속 기본 포트
MySQL Client는 protocol=tcp
옵션이 없으면 항상 /var/run/mysql/mysqld.sock
파일을 통해서만 접속한다. 이 경우에 --port=anotherport
옵션을 아무리 줘도 무시한다. 명령행에서 –protocol=tcp
옵션을 줘야한다.
/etc/my.cnf
[mysqld] max_connections = 250
show variables like 'max_connections';
[mysqld] lower_case_table_names=1
0
: ceate table
/create database
에 지정된 대소문자를 그대로 따른다. 대소문자를 구분한다. linux 에서는 0
이 기본이다. 윈도우나 Mac 같은 대소문자를 구분하지 않는 시스템에서는 절대로 0
으로 두면 안된다.1
: 모든 DB명, 테이블명, alias 등을 소문자로 저장한다. 그리고 query 에서 지정한 테이블명 대소문자를 무시하고 항상 소문자로 비교한다. 윈도우와 Mac 에서 이 값으로 한다.2
: 생성시에는 create table
/create database
에 지정된 것을 그대로 따르지만, 조회 query 등에서는 모두 소문자로 변경한다. 이름 비교시에 대소문자를 가리지 않는다. 윈도우/Mac 같은 대소문자를 안가리는 시스템에서만 지정가능하다. linux 에서는 지정하지 말 것.1
을 사용해도 된다.0
, 윈도우에서는 2
로 지정해서 사용할 수 있다. [mysql] prompt=\u@\h:\d\_\R:\m:\\s>\_
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
으로 변경하고 다시 시작한다.
MySQL 클라이언트가 MySQL 서버에 전송한 쿼리의 크기가 지나치게 클 때 발생하는 오류.
한 번에 많은 쿼리를 전송해야 할 경우 max_allowed_packet=16M
형태로 값을 지정해준다.
[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;