큐브리드 loaddb할 때 순서(이 순서대로 할때 좋음) 스키마 -> 데이터 -> 인덱스 # loaddb 명령어cubrid loaddb -u dba -v -s "스키마" "데이터베이스명"cubrid loaddb -u dba -p "비번" -v -c 5000 -d "데이터" "데이터베이스명"cubrid loaddb -u dba -p "비번" -v -i "인덱스" "데이터베이스명"
Mysql lock 걸린 프로세스 중지시키기 mysqladmin -u root -p"passwd" kill "NO" for i in `mysqladmin -h x.x.x.x --user=root -pXXXX processlist |grep <username>| grep <Locked>|awk {'print $2'}` domysqladmin -h x.x.x.x --user=root -pXXX kill $i;done;
# 업데이트UPDATE 데이터베이스명.테이블명 SET 변경될컬럼 ='변경될컬럼값' WHERE 변경할컬럼값='변경할컬럼값';
cubrid 특정 테이블 unloaddb, loaddb 명령어 사용법 # 특정 테이블 unloaddb 하기백업하고자 하는 디비명을 파일에 기록하고 명령어를 수행하면 된다. cubrid unloaddb -i 파일명 데이터베이스명 # 특정 테이블 loaddb 하기스키마와 인덱스를 제외한 오브젝트 파일만 loaddb 하면 된다. cubrid loaddb -u dba -d mynews3_ezyecono_objects mynews3_solo
# 큐브리드 퍼포먼스 향상시키기 - 시스템 구축시 볼륨을 각각 다른 디스크에 구성한다.(물리적으로 분리, 로그도 분리하면 좋음)- 아카이브 로그를 쌓을경우 물리적으로 분리된 디스크를 사용하면 좋음- 데이터베이스 로그는 크게 상관없음
# cubrid broker 주요 설정값 모음 [%BROKER1]SERVICE =ONBROKER_PORT =33000MIN_NUM_APPL_SERVER =10MAX_NUM_APPL_SERVER =100APPL_SERVER_SHM_ID =33000LOG_DIR =log/broker/sql_logERROR_LOG_DIR =log/broker/error_logAUTO_ADD_APPL_SERVER =ONSQL_LOG =NOTICETIME_TO_KILL =100SESSION_TIMEOUT =10KEEP_CONNECTION =AUTOSQL_LOG_MAX_SIZE =50000LONG_QUERY_TIME =0.8LONG_TRANSACTION_TIME =0.8 # 브로커 제공 파라미터(기본값)MASTER_SHM_ID int 30001 ADMIN_LOG_FILE string log/broker/cubrid_broker.log SERVICE string ON BROKER_PORT int 30000(최대값 : 65535) MIN_NUM_APPL_SERVER int 5 M
mysql 대용량 파일 insert 하기 (load data) LOAD DATA INFILE '로드 할 파일명' INTO TABLE 테이블명FIELDS TERMINATED BY '|'LINES TERMINATED BY 'n'(컬럼명 쭉~~~~~~~~~`); FIELDS TERMINATED BY '|' : 컬럼을 구분자 구분자 지정LINES TERMINATED BY 'n' : 라인(줄)을 구분해줄 구분자. 보통 n 지정ignore 1 line : 등록할 파일명의 첫줄을 무시하고 insert LOAD DATA INFILE '로드 할 파일명' INTO TABLE 테이블명FIELDS TERMINATED BY '|'LINES TERMINATED BY 'n'ignore 1 line (a, b, c, d, e, f`);
INSERT INTO mysql.user(User, Host, Password, ssl_cipher, x509_issuer,x509_subject) VALUES('유저아이디t', 'localhost', Password('패스워드'), '', '', ''); INSERT INTO `mysql`.`db` (`Host` ,`Db` ,`User` ,`Select_priv` ,`Insert_priv` ,`Update_priv` ,`Delete_priv` ,`Create_priv` ,`Drop_priv` ,`Grant_priv` ,`References_priv` ,`Index_priv` ,`Alter_priv` ,`Create_tmp_table_priv` ,`Lock_tables_priv` ,`Create_view_priv` ,`Show_view_priv` ,`Create_routine_priv` ,`Alter_routine_priv` ,`Execute_priv` ,`Event_priv` ,`Trigger_priv`)VALUES ('localhost', '디비명', '유저아이디', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y',
mysql strict mode off 구동 스크립트에서 "start" 부분에 off 옵션을 넣는다. $bindir/mysqld_safe --sql-mode="" --datadir="$datadir" ~~~~~~~~~~
# SQL처리 시 Temporary Table이 디스크에 사용되지 않도록 해야한다.# Temporary Table 현황 모니터링# Created_tmp_files 이 많다면 tmp_table_size를 늘려주기mysqladmin -uroot -p extended-status -r -i 1 | grep -E 'Created_tmp|--' 일부 쿼리는 Temporary Table을 메모리에 사용하지 않고 디스크를 바로 사용하는 경우가 있다.쿼리 자체를 수정하여 디스크를 사용하지 않도록 해야겠다. 임시 꼼수로.통계성 쿼리 질의 전에 세션 변수 설정(2G로 할당)을 한 후 해본다. 디스크 사용을 줄이기 위한 목적이지만 쿼리 자체를 수정하는게 더 좋은 방법임.set session tmp_table_size = 2 * 1024 * 1024 * 1024;set session max_heap_table_size = 2 * 1024 * 1024 * 1024;
mysqlcheck --check --databases [database name]
// mysql root password 등록 [root@linux mysql]# mysql -u root -p mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 1 to server version: 4.0.23-Max Type 'help;' or 'h' for help. Type 'c' to clear the buffer. mysql> update user set password=password('비밀번호입력') where user='root'; Query OK, 2 rows affected (0.00 sec) Rows matched: 2 Changed: 2 Warnings: 0 mysql> flush privileges; <== mysql 재시동 Query OK, 0 rows affected (0
ifconfig | grep Bcast | sed -e 's/:/ /g' | awk '{print $3}'
#!/bin/bash echo -n "디렉토리를 입력하세요(ex. /HOME) : " read DIR echo -n "기능명을 지정하세요(ex. AB01) : " read FUNC_NAME echo -n "오늘로 부터 몇일 이전의 파일을 삭제할까요?(ex. 7) : " read N_DAY PAST_DATE=$(date +%Y%m%d --date "$N_DAY days ago") for filename in $(find $DIR -type f -name "${FUNC_NAME}.*.txt") do FILE_DATE=$(echo $filename | awk -F. '{print $2}') if [ $FILE_DATE -lt $PAST_DATE ]; then rm -f $filename fi done #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# #!/bin/bash echo -n "디렉토리를 입력하세요(ex. /HOME) : " read DIR echo -n "기능명을 지정하세요(ex. AB01) : " read FUNC_NAME echo -n "몇일
디스크 사용률 구하는 스크립트 for i in $(df -h | grep -v 'Use' | awk '{print $5}' | cut -d'%' -f1);do echo -e $i;done for i in $(df -h | grep -v 'Use' | awk '{print $5}' | cut -d'%' -f1);do echo $i;done