디비 덤프 시 아래와 같은 오류가 있는경우 체크 할 사항 # 덤프 시 에러내용 root@web:/var/lib/mysql5# mysqldump -u root -p database> database.sql Enter password: mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_QUOTE_SHOW_CREATE=1' at line 1 (1064) # 체크 할 사항 설치된 데이터베이스 서버와 클라이언트툴의 버전이 맞는지 체크한다. 서버의 경우 소스 컴파일하여 5.6.x를 설치하였지만 클라이언트툴은 rpm 으로 기본 설치된 5.0.x의 클라이언트툴이 PATH에 먼저 잡히면서 덤프 시 위와같은 오류가 있는 경우가 많다. 실제 설치한 경로에 있는 mysqldump 명령어를 활용하면 해결될 수 있따.
#####vi /etc/logrotate.d/mysql /var/lib/mysql5/db-slow.log {dailyrotate 7missingokpostrotate/opt/webapps/mysql5/bin/mysqladmin flush-logsendscript}################################################# #daily : 로그파일을 날짜별로 변환#rotate : 지정 갯수 이상되면 예전 log파일 삭제#missingok : 로그파일이 없더라도 오류를 발생시키지 않음#postrotate-endscript :사이에 들어있는 명령어 실행 ################################################# ####메일 스크립트#!/bin/bashYEAR=`date +%Y`MONTH=`date +%m`DAY=`date +%d`SUBJECT="$YEAR$MONTH$DAY DB 슬로우쿼리입니다"EMAIL="메일주소"EMAILMESSAGE="/var/lib/mysql5/db-slow.log-$YEAR$MONTH$DAY" /bin/mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSA
// 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.00
# MySQL 종료 명령어 mysqladmin -uroot -p shutdown 다음mysqld_safe # MYSQL 재시작 명령어 mysql-dir/bin/mysqld_safe &
mysql 루트 암호를 잊어 버렸을때 재설정 하기 ① mysql 데몬을 죽인다. ② 권한을 무시하도록하는 옵션을 줘서 mysql 데몬을 다시 실행 # safe_mysqld --skip-grant-tables & ③ mysql 서버에 접속 (암호 없이 접속이 가능) # mysql -u root ④ update 로 mysql 패스워드 변경 mysql> update user set password=password('새로운 비밀번호') where user='root';
# ================================================================================ # 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
1. TABLE 생성 CREATE TABLE mytable ( no INTEGER NOT NULL, name CHAR(15) NULL ); 2. PRIMARY KEY 생성 ALTER TALBE mytable ADD ( PRIMARY KEY (no)); 3. FOREIGN KEY 생성 ALTER TABLE mytable ADD( FOREIGN KEY (no) REFERENCES name ); 4. PK RENAME ALTER INDEX SYS_C00555 RENAME TO PK_no; 5. FOREIGN KEY 는 물려있는 글중에 상위글이 지워지면 하위글도 지워지는 쿼리 ON DELETE CASCADE 추가. 미 추가시 삭제할때 에러발생 ALTER TABLE mytable ADD( FOREIGN KEY (no) REFERENCES mytable on delete cascade );
큐브리드 loaddb할 때 순서(이 순서대로 할때 좋음) 스키마 -> 데이터 -> 인덱스 # loaddb 명령어cubrid loaddb -u dba -v -s "스키마" "데이터베이스명"cubrid loaddb -u dba -p "비번" -v -c 5000 -d "데이터" "데이터베이스명"cubrid loaddb -u dba -p "비번" -v -i "인덱스" "데이터베이스명"
# 큐브리드 퍼포먼스 향상시키기 - 시스템 구축시 볼륨을 각각 다른 디스크에 구성한다.(물리적으로 분리, 로그도 분리하면 좋음)- 아카이브 로그를 쌓을경우 물리적으로 분리된 디스크를 사용하면 좋음- 데이터베이스 로그는 크게 상관없음
ora-00000 성공적인 정상 종료입니다. ora-00001 유일성 제약조건(%s.%s)에 위배됩니다. ora-00017 트레이스 이벤트 설정이 세션에 요구되었습니다. ora-00018 최대 세션 수를 초과했습니다. ora-00019 최대 세션 라이선스 수를 초과했습니다. ora-00020 최대 프로세스 수(%s)를 초과했습니다. ora-00021 세션이 다른 프로세스에 첨부되어 있음; 세션을 변경할 수 없습니다. ora-00022 부적절한 세션 번호; 액세스가 거절되었습니다. ora-00023 세션이 프로세스 고유의 메모리를 참조함; 세션을 분리할 수 없습니다. ora-00024 단일 프로세스 모드에서는 하나 이상의 프로세스가 로그인할 수 없습니다. ora-00025 %s에 메모리를 할당하는데 실패했습니다. ora-00026 누락 혹은 부적합한 세션 번호 ora-00027 현 세션을 제거할 수 없습니다. ora-00028 세션이 제거되었습니다. ora-00029 사용자 세션이 아닙니다. ora-00030 사용자 세션 id가 존재하지 않습니다. ora-00031 세션이 중단될 것입니다. ora-0
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;
# 큐브리드 데이터베이스 생성하기(기본값은 현재 디렉토리에서 데이터베이스를 생성한다) # 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 인덱스 디비명