# ================================================================================ # key_buffer : # 인덱스를 위한 버퍼크기, 키 버퍼의 크기는 공유된쓰레드의 크기이며 중복된 키를 자주 # 사용할 경우 속도를 높일 수 있고, 기준은 show status 명령을 했을 때 # Key_blocks_used를 체크해서 key_buffer 사이즈를 줄이던가 늘리던가 해야 한다. # 일반적인 key_buffer 의 크기는 Key_blocks_used*1024 로 잡으면 된다. # Key_reads 가 크다면, key_buffer_size 변수가 너무 작은 것이다. # 대용량 테이블일 경우 쿼리가 느리다면, 인덱스 버퍼 크기가 작아서 느릴 수 있으므로 # key_buffer 크기를 늘려 주어야 한다. # show status 명령에서 다음과 같이 계산되는 것이 key_buffer 설정이 적당한 것이다. # Key_reads/Key_read_request < 0.01 [ 0.00112318293327 ] # key_write/key_write_request = 1 [ 0.07631015
큐브리드 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 변경할컬럼값='변경할컬럼값';
# 큐브리드 퍼포먼스 향상시키기 - 시스템 구축시 볼륨을 각각 다른 디스크에 구성한다.(물리적으로 분리, 로그도 분리하면 좋음)- 아카이브 로그를 쌓을경우 물리적으로 분리된 디스크를 사용하면 좋음- 데이터베이스 로그는 크게 상관없음
# 큐브리드 데이터베이스 생성하기(기본값은 현재 디렉토리에서 데이터베이스를 생성한다) # page size : 4096 기준 cubrid createdb 디비명cubrid createdb -L 로그디렉토리 -F 볼륨디렉토리 디비명cubrid spacedb -S 디비명 # 2G X 4cubrid addvoldb -p data -S 디비명 500000cubrid addvoldb -p data -S 디비명 500000cubrid addvoldb -p data -S 디비명 500000cubrid addvoldb -p data -S 디비명 500000 # 1G X 1 cubrid addvoldb -p index -S 디비명 250000 # 2G X 2 cubrid addvoldb -p temp -S 디비명 500000cubrid addvoldb -p temp -S 디비명 500000 # 큐브리드 베이터베이스 복원하기cubrid loaddb -u dba -v -s 스키마 디비명cubrid loaddb -u dba -p 비번 -v -c 5000 -d 오브젝트 디비명cubrid loaddb -u dba -p 비번 -v -i 인덱스 디비명
# mysql 데이터베이스 쓰기방지 mysql> FLUSH TABLES WITH READ LOCK;
# 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}'