본문 바로가기

IT/SQL

MySQL 설정 기본 팁

설정 / my.ini(Windows) 또는 my.cnf(Linux) 에 추가한다.

리플리케이션 관련 / Error Code: 1062. Duplicate entry '1' for key 'PRIMARY' 애러 방지

slave-skip-errors = 1062

리플리케이션 관련 / 모든 애러 무시

slave-skip-errors = all

애러로그 생성

log-error = /var/lib/mysql/error.log

데드락(deadlock) 발생 방지 / 이것도 해주는게 좋다고 했는데...(CannotAcquireLockException 애러 발생시?)

innodb_lock_wait_timeout = 240
transaction-isolation = READ-COMMITTED

커넥션 최대치

max_connections = 500

백업 설정 확인 명령어?

덤프뜨기 / 백업

mysqldump -u root -p db명 > db명.sql 또는 db명.table명.sql

30일 이전에 로그를 삭제한다.

PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY);

커넥션수 확인

show variables like 'max_connections';

커넥션수 확인

show status like 'Max_used_connections';

커넥션수 확인

show status like 'Aborted%';

커넥션수 확인

show status like '%CONNECT%';

기본 팁

삽입 / insert

INSERT INTO 테이블 VALUES (데이터1, 데이터2, 데이터3);

삽입 / insert

INSERT INTO 테이블 (컬럼1, 컬럼2, 컬럼3) VALUES ('컬럼1데이터, 컬럼2데이터, 컬럼3데이터');

삭제 / delete

delete from 테이블;
delete from 테이블 where 컬럼 = '값';

테이블의 컬림 사이즈/크기 를 변경

alter table 테이블명 modify 컬럼명 VARCHAR(50) ;

로컬호스트에만 접속 할 수 있는 계정 생성

grant all privileges on 디비.* to '계정'@'localhost' identified by '비번';

외부접속 할 수 있는 계정 생성?

grant all privileges on 디비.* to '계정'@'%' identified by '비번'

기타

Workbench 에서 삭제/수정 안될때 날려주는 명령어

SET SQL_SAFE_UPDATES = 0;

DB UTF8 문자셋

utf8-general-ci는 utf8-unicode-ci 를 사용해서 정렬할 때 보다 다소 정확도가 떨어지는 경향이 있으나 속도는 빠르다.
MySQL의 경우 utf8-general-ci 가 Default Collation이다.

'IT > SQL' 카테고리의 다른 글

MySQL 페이지 나누기  (0) 2020.11.05
MySql schema와 database의 차이점  (0) 2020.11.05