Too many connection 연결 가능한 수가 Clients에게 사용되고 있다는 의미 연결 실패 수가 max_connect_errors 에 도달하면 connection이 막혀 Too many connection 오류가 발생한다. 해결방법 1. wait-timeout 설정 DB 서버에 접속이 많은 경우 wait-timeout 을 작게 설정하여 불필요한 연결을 제거하는 것이 좋다. 하지만 Connection Miss Rate(%) 가 1% 이상이면 더 길게 설정할 필요가 있다. 2. max-connection 설정 max-connection 수를 증가 시켜 connection 수를 증가시키는 방법 3. connection 튜닝 - DB 상태 Aborted_clients : 클라이언트 프로그램이 비 정..
백업 bash 스크립트 작성 root@0acd15c1ee60:/# vi autoBackupDB.sh #!/bin/bash backupPath=/home/dalgoo/server/backup/ backupDate=$(date +%Y%m%d_%H%M%S) USERNAME=디비아이디 PASSWORD=디비비번 DATABASE=디비이름 mysqldump -u$USERNAME -p$PASSWORD $DATABASE > $backupPath/$backupDate'_'$DATABASE'.sql' zip -j $backupPath$backupDate'_backupDB.zip' $backupPath$backupDate'_'$DATABASE'.sql' rm $backupPath$backupDate'_'$DATABASE'.s..
zoneinfo 에서 서울 Timezone 존재 여부 확인 Seoul 이 있는지 아래와 같이 확인 root@e72a1af519d5:/# ls -al /usr/share/zoneinfo/Asia/ Aden Chongqing Jerusalem Novokuznetsk Tbilisi Almaty Chungking Kabul Novosibirsk Tehran Amman Colombo Kamchatka Omsk Tel_Aviv Anadyr Dacca Karachi Oral Thimbu Aqtau Damascus Kashgar Phnom_Penh Thimphu Aqtobe Dhaka Kathmandu Pontianak Tokyo Ashgabat Dili Katmandu Pyongyang Tomsk Ashkhabad ..
MySQL, MariaDB 서버들은 기본설정이 SQL문을 대소문자를 구분 root@e72a1af519d5:/etc/mysql# vi my.cnf [mysqld] # # * Basic Settings # #user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc_messages_dir = /usr/share/mysql lc_messages = en_US skip-external-locking lower_case_table_names=1 lower_case_table_names=1 를 추..
ID를 생성하는 SQL문을 실행 CREATE DEFINER=`test`@`%` FUNCTION `GET_CREATE_ID`( `tableName` VARCHAR(50) ) RETURNS char(6) CHARSET utf8 LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT 'ID 생성 함수' BEGIN DECLARE id VARCHAR(50); UPDATE T_ID_GENERATION SET NEXT_ID = NEXT_ID + 1 WHERE TABLE_NAME = tableName; SET id = ( SELECT CONCAT(IFNULL(PREFIX,''), LPAD(NEXT_ID,(BLOCK_SIZE - LENGTH(IF..