Live Brilliant

Mysql Tip 본문

개발은 핵찜이야/리눅스

Mysql Tip

주인정 2012. 4. 13. 18:01

mysql tip mysql

INNODB : 트랜잭션과 DB를 변경하는 작업이 많은 데이터베이스에 사용
MyISAM : 트랜잭션이 필요 없고 Select 쿼리가 많은 경우에 사용,Key Cache

key_cache_block_size
key_buffer_size
key_cache_ division_limit
preload_buffer_size

[Mysql]
-Inno DB상태확인==> show engine innodb status;

-대용량 키버퍼 상태확인
> mysqladmin variables


vi /etc/my.cnf
key_buffer ===> 인덱스가 많은 테이블에서 insert,delete 작업이 많은 경우 증가시킨다.

-최대동시 접속자 상태확인
./mysqladmin -u root -p variables | grep max_connections <== 세팅된 동시접속자수

show status like '%CONNECT%'; <== 실제 동시접속자수
| Max_used_connections | 101 |

-각종 캐시 상태확인

-분산트랜잭션 상태확인

-잠금(Lock)상태확인

MyISAM,MEMORY ==> 테이블레벨잠금
BDB ==> 페이지레벨잠금
InnoDB ==> 열레벨잠금


show status like 'Table%';
+-----------------------+---------+
| Variable_name | Value |
+-----------------------+---------+
| Table_locks_immediate | 6897833 |
| Table_locks_waited | 480613 |
+-----------------------+---------+

-H/W리소스 상태확인

-임시테이블 / 테이블 스캔상태 확인

-보안상태확인

-리플리케이션 상태확인

-실행쿼리상태 확인
./mysqladmin -u root -p processlist


> mysql 기동명령
mysqld_safe (현재)
safe_mysqld (올드버젼)
mysql.server(바이너리설치시)

mysqlhotcopy-->MyISAM에서만 동작, cp와 같다.
mysqlhotcopy가 mysqldump보다 빠르다.

show variables;
######################
join_buffer_size
key_buffer_size
max_connections
max_join_size
record_buffer
sort_buffer
table_cache 모든 쓰레드에서 열 수 있는 테이블 수
thread_cache_size
tmp_table_size
wait_timeout 연결끊기전 대기하는 시간

show status;
######################
Aborted_clients 비정상종료
Aborted_connects 연결실패횟수 --> max_connections을 체크
Connections
Key_reads
Key_reads, Key_read_request ---> 1%이하여야함
Max_used_connections
Opened_tables 값이 높은 경우 table_cache값이 작아서
Select_full_join
Questions
Table_locks_waited 작을수록 좋다.

Comments