mysql 모니터링 중 innoDB Buffer Usage가 100%를 유지하는 현상이 발생


아래 공식대로 계산 후  innodb_buffer_pool_size 를 변경


SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_pages_data';  -- IBPDataPages 
SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_pages_total'; -- IBPTotalPages
SHOW GLOBAL STATUS LIKE 'Innodb_page_size'; -- IPS

IBPPctFull = IBPDataPages * 100.0 / IBPTotalPages


IBPctFull이 95%이상일 경우 DB 서버 RAM의 75%까지 innodb_buffer_pool_size를 설정.


 IBPctFull이 95%이하일 경우 IBPSize = IPS X IBPDataPages / (1024*1024*1024) X 1.05 의 계산 값을 innodb_buffer_pool_size로 설정.


[참조] - http://dba.stackexchange.com/questions/19164/what-to-set-innodb-buffer-pool-and-why

Posted by 사용자 guru_k
TAG It, MySQL

댓글을 달아 주세요

기본적으로 찾을 수 있는 정보인 Host에 %를 추가하고 my.cnf를 변경하여도 mysql 외부 접속이 안된다면, 서버의 방화벽을 확인하시는게 해결책이 될 수 있습니다.


- 방화벽을 해제 합니다.

[root@root guru]/etc/init.d/iptables stop


- 이후 다시 한번 MySQL 외부접속을 시도해봅니다.



Posted by 사용자 guru_k

댓글을 달아 주세요

현재 사용되는 서버의 MySQL에 접속하기 위해서는 모든 IP에서 접속을 할 수 있도록 설정해야 합니다.


1. 설정 확인 


mysql> SELECT Host FROM mysql.user WHERE user='root';





query문을 통해 HOST설정을 확인한다. %는 모든 IP의 접속을 설정한다는 것입니다. 

query문 확인 시 %가 설정 되어 있을 경우 다음 순서는 넘어가도 됩니다.


2. 모든 IP 접속 허용


mysql> INSERT INTO mysql.user (host,user,password) VALUES ('%','root',password('패스워드'));

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

mysql> FLUSH PRIVILEGES;


위에 query를 차례로 실행하여 줍니다. 이 후 1번의 query를 실행하여 Host에 %가 추가 되었는지 확인합니다.


3. my.cnf 수정

 - vi편집기를 이용하여 my.cnf파일을 엽니다.

   [root@root guru]vi /etc/my.cnf

 - bind-address = 127.0.0.1 앞에 #을 붙여서 주석 처리합니다. (#은 주석을 의미합니다.)

 - mysql를 재시작합니다.

   [root@root guru]service mysqld restart


4. 접속 확인

  - 아래 명령어를 통하여 접속이 정상적으로 되는지 확인합니다.

  [root@root guru]mysql -u root -h 129.129.12.12 -p

 

위와 같은 설정에도 접속이 되지 않는다면 

 

Posted by 사용자 guru_k
TAG It, MySQL

댓글을 달아 주세요