<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title>AdminID.kr (어드민아이디) - MySQL</title>
		<link rel="alternate" type="text/html" hreflang="ko" href="https://adminid.kr/mysql"/>
	<link rel="self" type="application/atom+xml" href="https://adminid.kr/mysql/atom"/>
	<updated>2026-04-23T10:49:18+00:00</updated>
	<id>https://adminid.kr/mysql/atom</id>
	<generator>Rhymix</generator>
	<rights>AdminID.kr</rights>	<entry>
		<title>mysql이 cpu를 많이 점유하고, DB와의 연결상태가 좋지 않을때</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/105178"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/105178#comment"/>		<id>https://adminid.kr/mysql/105178</id>
		<published>2016-07-05T09:28:45+00:00</published>
		<updated>2016-07-05T09:28:45+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text">mysql 이 cpu를 꾸준히 점유하고 있으며, 서버의 부하도 많이 발생한다.... 물론 log 를 확인하는 방법이 가장 기본적으로 해야할 일이다. 그리고 혹시 slow query 가 얼마나 쌓이는지 확인 해 보는것도 좋다. 그리고 mytop 이나 mysqlreport 등의 실시간 모니터링 프로그램을 이용할 수도 있다. * slow query 에 관해 간단히 알아보면 다음과 같다. : slow query 란 DBMS 가 client로부터 요청받은 query를 수행할때 일정시간 이상...</summary>
	<content type="html">&lt;p&gt;mysql 이 cpu를 꾸준히 점유하고 있으며, 서버의 부하도 많이 발생한다....&lt;br /&gt; 물론 log 를 확인하는 방법이 가장 기본적으로 해야할 일이다. 그리고 혹시 slow query 가&lt;br /&gt; 얼마나 쌓이는지 확인&lt;br /&gt; 해 보는것도 좋다.&lt;br /&gt; 그리고 mytop 이나 mysqlreport 등의 실시간 모니터링 프로그램을 이용할 수도 있다.&lt;br /&gt; * slow query 에 관해 간단히 알아보면 다음과 같다.&lt;br /&gt; : slow query 란 DBMS 가 client로부터 요청받은 query를 수행할때 일정시간 이상 수행&lt;br /&gt; 되지 못한 query를&lt;br /&gt; 칭하는 것으로 slow query 가 많다면 당연히 성능저하가 발생된다.&lt;br /&gt; mysql 을 사용할때 mysqld 가 cpu를 유난히 많이 점유한다거나 DB의 접속이 원활하지&lt;br /&gt; 않다면&lt;br /&gt; slow query를 이용하여 원인 분석에 도움이 될 수도 있다.&lt;br /&gt; log 를 쌓이게 하기 위해 mysqld 실행시에 다음 옵션을 함께 추가하거나, my.cnf 파일을&lt;br /&gt; 직접 수정하여&lt;br /&gt; mysqld 를 실행할 수도 있다.&lt;br /&gt; 1) mysqld 작동시 slow query 옵션 추가&lt;br /&gt; #]/usr/local/mysql/bin/mysqd_safe --log-slowqueries=/&lt;br /&gt; usr/local/mysq/data/mysql_slow.log &amp;amp;.....&lt;br /&gt; 2) my.cnf 수정&lt;br /&gt; #]vi /etc/my.cnf&lt;br /&gt; log_slow_queries=/usr/local/mysql/data/mysql_slow.log =&amp;gt; 로그 저장 경로&lt;br /&gt; long_query_time=1 =&amp;gt; 쿼리가 2초이상 지속될때 로그에 기록&lt;br /&gt; * cache size 수정하기&lt;br /&gt; set-variable = query_cache_size = 100M : 100M 로 cache size 수정&lt;br /&gt; cache 수정후 mysql prompt 상에서 다음과 같이 확인 가능&lt;br /&gt; mysql&amp;gt; use mysql;&lt;br /&gt; Database changed&lt;br /&gt; mysql&amp;gt; show global status like &amp;#39;%Qcache%&amp;#39;;&lt;br /&gt; +-------------------------+----------+&lt;br /&gt; | Variable_name | Value |&lt;br /&gt; +-------------------------+----------+&lt;br /&gt; | Qcache_free_blocks | 13 |&lt;br /&gt; | Qcache_free_memory | 33384736 |&lt;br /&gt; | Qcache_hits | 283 |&lt;br /&gt; | Qcache_inserts | 156 |&lt;br /&gt; | Qcache_lowmem_prunes | 0 |&lt;br /&gt; | Qcache_not_cached | 6 |&lt;br /&gt; | Qcache_queries_in_cache | 37 |&lt;br /&gt; | Qcache_total_blocks | 106 |&lt;br /&gt; +-------------------------+----------+&lt;br /&gt; 8 rows in set (0.00 sec)&lt;br /&gt; mysql&amp;gt; show global variables like &amp;#39;%query_cache%&amp;#39;;&lt;br /&gt; +------------------------------+----------+&lt;br /&gt; | Variable_name | Value |&lt;br /&gt; +------------------------------+----------+&lt;br /&gt; | have_query_cache | YES |&lt;br /&gt; | query_cache_limit | 1048576 |&lt;br /&gt; | query_cache_min_res_unit | 4096 |&lt;br /&gt; | query_cache_size | 33554432 |&lt;br /&gt; | query_cache_type | ON |&lt;br /&gt; | query_cache_wlock_invalidate | OFF |&lt;br /&gt; +------------------------------+----------+&lt;br /&gt; 6 rows in set (0.00 sec)&lt;br /&gt; slow query가 쌓이도록 수정후 정상적으로 적용되었는지 확인하기 위해 mysql&lt;br /&gt; command prompt 에서&lt;br /&gt; 다음과 같이 실행한다.&lt;br /&gt; #mysql&amp;gt;show global variables WHERE Variable_name LIKE &amp;lsquo;l%&amp;rsquo;;&lt;br /&gt; +&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;+&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;+&lt;br /&gt; | Variable_name | Value |&lt;br /&gt; +&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;+&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;+&lt;br /&gt; | language | /usr/share/mysql/korean&lt;br /&gt; | large_files_support | ON |&lt;br /&gt; | large_page_size | 0 |&lt;br /&gt; | large_pages | OFF |&lt;br /&gt; | license | GPL |&lt;br /&gt; | local_infile | ON |&lt;br /&gt; | locked_in_memory | OFF |&lt;br /&gt; | log | OFF |&lt;br /&gt; | log_bin | OFF |&lt;br /&gt; | log_bin_trust_function_creators | OFF |&lt;br /&gt; | log_error | |&lt;br /&gt; | log_slave_updates | OFF |&lt;br /&gt; | log_slow_queries | ON |&lt;br /&gt; | log_warnings | 1 |&lt;br /&gt; | long_query_time | 3 |&lt;br /&gt; | low_priority_updates | OFF |&lt;br /&gt; | lower_case_file_system | OFF |&lt;br /&gt; | lower_case_table_names | 0 |&lt;br /&gt; +&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;+&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;+&lt;br /&gt; 이제 쌓이는 log를 확인하여 어디에서 문제가 발생되는지 확인하고, 이를 수정해야 할 것&lt;br /&gt; 이다.&lt;br /&gt; /usr/local/mysql/data/mysql-bin.00000 슬로우쿼리를 slowquery.log 에 덤프하여 저장&lt;br /&gt; ex)/usr/local/mysql/bin/mysqldumpslow -v /usr/local/mysql/data/mysql-bin.00000&lt;br /&gt; &amp;gt; slowquery.log&lt;br /&gt; * 참고 mysql 명령어&lt;br /&gt; extended-status MySQL : 데이터베이스의 현재 상황을 보여준다.&lt;br /&gt; flust-hosts : MySQL에 캐시된 모든 포스트를 초기화한다.&lt;br /&gt; flust-logs : MySQL의 로그 파일을 새로 작성하며 초기화한다.&lt;br /&gt; flust-status : MySQL의 상태정보를 초기화한다.&lt;br /&gt; flust-tables : MySQL에 캐싱된테이블 정보를 초기화한다.&lt;br /&gt; flust-thread : 쓰레드 캐시에 저장된 쓰레드를 초기화한다.&lt;br /&gt; flust-privileges : 권한정보 테이블을 다시 읽는다.&lt;br /&gt; kill id : 특정 MySQL 프로세스를 죽인다.&lt;br /&gt; Processlist : 현재 MySQL 프로세스 목록은 본다.&lt;br /&gt; Refresh : 현재 캐시되어 있는 모든 테이블을 초기화하고 log 파일은 새로 만든다.&lt;br /&gt; Variables 설정 가능한 모든 변수를 보여줍니다.&lt;br /&gt; SHOW VARIABLES&lt;br /&gt; MySQL은 설정 가능한 값들을 엄청나게 많이 가지고 있으며 SHOW VARIABLE 명령을&lt;br /&gt; 통해 현재 설정되어 있는 모든 값을 볼 수 있다. &amp;lt;화면 1&amp;gt;은 SHOW VARIABLES로 통해&lt;br /&gt; 살펴본 설정이다.&lt;br /&gt; SHOW VARIABLES로 볼 경우 총 207개 정도의 변수가 표시된다. 오히려 너무 많아서 원&lt;br /&gt; 하는 값을 찾기가 힘들 정도이다. 그래서 SHOW VARIABLES 명령 뒤에 LIKE &amp;lsquo;%키워드%&lt;br /&gt; &amp;rsquo;를 사용하면 원하는 값만을 볼 수 있다.&lt;br /&gt; SHOW STATUS&lt;br /&gt; MySQL은 내부적으로 동작 상황에 대한 실시간 통계 정보를 가지고 있다. SHOW&lt;br /&gt; STATUS는 이러한 통계 정보를 보기 위한 명령이다. 모니터링할 때 가장 기본이 되는 것&lt;br /&gt; 이 바로 앞에서 설명한 SHOW VARIABLES의 정보와 SHOW STATUS의 정보이다. 웹&lt;br /&gt; 기반의 모니터링 툴을 비롯한 각종 모니터링 툴들이 바로 이 두 명령어를 통해 나온 정보&lt;br /&gt; 를 조합해 사용하는 것이다. SHOW STATUS도 SHOW VARIABLES와 마찬가지로 LIKE&lt;br /&gt; &amp;lsquo;%키워드%&amp;rsquo; 사용해 원하는 값만을 볼 수 있다.&lt;br /&gt; SHOW PROCESSLIST&lt;br /&gt; 현재 동작하고 있는 MySQL 데이터베이스 서버의 동작중인 모든 쓰레드와 유저 커넥션 정&lt;br /&gt; 보를 보기 위한 명령어이다. 이를 통해 얻어진 정보로 시스템 자원을 지나치게 많이 사용&lt;br /&gt; 하거나 잘못된 수행을 하고 있는 프로세스를 죽일 수 있다.&lt;br /&gt; SHOW TABLE/TABLE STATUS/INDEX/INNODB STATUS&lt;br /&gt; SHOW TABLE 명령은 현재 데이터베이스에 존재하는 테이블에 대한 기본적인 정보를 보&lt;br /&gt; 여주며 SHOW TABLE STATUS는 각 테이블의 생성 일자, 테이블 크기, 인덱스 크기 등&lt;br /&gt; 구체적인 정보를 보여준다. 하지만 이 때 주의할 점이 하나 있는데 바로 SHOW TABLE&lt;br /&gt; STATUS의 경우 테이블의 스토리지 엔진이 MyISAM인 경우에만 정확한 정보를 표시하&lt;br /&gt; 며 InnoDB의 경우에는 부정확한 정보를 보여준다는 것이다. InnoDB 스토리지 엔진으로&lt;br /&gt; 되어 있는 테이블은 SHOW INNODB STATUS로 구체적인 정보를 확인할 수 있으며&lt;br /&gt; SHOW INDEX를 통해 테이블의 인덱스에 대한 각종 정보를 볼 수 있다&lt;br /&gt; &amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://egloos.zum.com/hanaduri/v/2271320&quot;&gt;http://egloos.zum.com/hanaduri/v/2271320&lt;/a&gt;&lt;/p&gt;</content>			</entry><entry>
		<title>Mysql slow-query를 이용한 로그 분석</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/101908"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/101908#comment"/>		<id>https://adminid.kr/mysql/101908</id>
		<published>2015-03-16T16:33:06+00:00</published>
		<updated>2015-03-16T16:33:06+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text">Mysql 프로세스가 CPU / 메모리 자원을 비정상적으로 많이 사용하여 서버의 load average가 급증 하거나, 웹페이지 접속시 로딩 속도가 현저히 지연될 경우가 있습니다. 이럴 때에는 쿼리가 처리 되는데 얼마나 시간이 소요 되는지 my.cnf에 slow-query-log를 남기게끔 설정하여 원인 분석을 할 수 있습니다. [mysqld] log-slow-queries = 로그 파일명 long_query_time = 쿼리 타임 ex) # vi /etc/my.cnf [mysqld] log-slow-queries...</summary>
	<content type="html">&lt;p&gt;Mysql&amp;nbsp;프로세스가 CPU / 메모리 자원을 비정상적으로 많이 사용하여 서버의 load average가 &lt;/p&gt; &lt;p&gt;급증 하거나, 웹페이지 접속시 로딩 속도가 현저히 지연될 경우가 있습니다.&lt;/p&gt; &lt;p&gt;이럴&amp;nbsp;때에는 쿼리가 처리 되는데 얼마나 시간이 소요 되는지 my.cnf에 slow-query-log를 남기게끔 &lt;/p&gt; &lt;p&gt;설정하여 원인 분석을&amp;nbsp;할 수 있습니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;[mysqld]&lt;/p&gt; &lt;p&gt;log-slow-queries = 로그 파일명&lt;/p&gt; &lt;p&gt;long_query_time = 쿼리 타임&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;ex)&lt;/p&gt; &lt;p&gt;&amp;nbsp;# vi /etc/my.cnf&lt;/p&gt; &lt;p&gt;[mysqld]&lt;/p&gt; &lt;p&gt;log-slow-queries = /usr/local/mysql/var/mysql-slow.log&lt;/p&gt; &lt;p&gt;long_query_time =&amp;nbsp;3&lt;/p&gt; &lt;p&gt;위 내용은 쿼리 타임이 &#039;3초&#039;를&amp;nbsp;&amp;nbsp;초과 하는 쿼리에 대해 /usr/local/mysql/var/mysql-slow.log 파일에 기록 한다는 뜻입니다.&lt;/p&gt; &lt;p&gt;&lt;br /&gt;my.cnf에 설정&amp;nbsp;및 mysql을 리스타트&amp;nbsp;한&amp;nbsp;뒤&amp;nbsp;운영 하다 보면&amp;nbsp;아래와 같이 slow-query-log가 남게 됩니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;use iamroot;&lt;br /&gt;select max(wr_comment) as max_comment from g4_write_ja&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where wr_parent = &#039;92&#039; and wr_is_comment = 1;&lt;br /&gt;# Time: 120809 16:08:15&lt;br /&gt;# &lt;a href=&quot;mailto:User@Host&quot;&gt;User@Host&lt;/a&gt;: iamroot[iamroot] @&amp;nbsp; []&lt;br /&gt;# Query_time: 253&amp;nbsp; Lock_time: 0&amp;nbsp; Rows_sent: 1&amp;nbsp; Rows_examined: 419562&lt;br /&gt;select max(wr_comment) as max_comment from g4_write_ja&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where wr_parent = &#039;92&#039; and wr_is_comment = 1;&lt;br /&gt;# Time: 120809 16:08:17&lt;br /&gt;# &lt;a href=&quot;mailto:User@Host&quot;&gt;User@Host&lt;/a&gt;: iamroot[iamroot] @&amp;nbsp; []&lt;br /&gt;# Query_time: 94&amp;nbsp; Lock_time: 0&amp;nbsp; Rows_sent: 0&amp;nbsp; Rows_examined: 640675&lt;br /&gt;use iamroot;&lt;br /&gt;SELECT count(*) from comment where boardcode=1045552594 and boardidx=274;&lt;br /&gt;# Time: 120809 16:08:23&lt;br /&gt;# &lt;a href=&quot;mailto:User@Host&quot;&gt;User@Host&lt;/a&gt;: iamroot[iamroot] @&amp;nbsp; []&lt;br /&gt;# Query_time: 183&amp;nbsp; Lock_time: 0&amp;nbsp; Rows_sent: 1&amp;nbsp; Rows_examined: 268576&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;로그 내용 중 각 항목에 대한 설명은 아래와 같습니다.&lt;/p&gt; &lt;p&gt;Query_time : 쿼리 수행시간&lt;br /&gt;Lock_time : 테이블 LOCK 이 걸린시간&lt;br /&gt;Row_sent : 쿼리 처리 결과 ROW 수&lt;br /&gt;Rows_examined : 쿼리 처리 대상의 ROW 수&amp;nbsp;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://faq.hostway.co.kr/Linux_DB/1325&quot;&gt;http://faq.hostway.co.kr/Linux_DB/1325&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content>		<category term="Mysql"/><category term="slow-query"/><category term="이용"/><category term="로그"/><category term="분석"/>	</entry><entry>
		<title>Mysql 데몬 문제 해결 방안 (cpulimit)</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/101901"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/101901#comment"/>		<id>https://adminid.kr/mysql/101901</id>
		<published>2015-03-16T16:23:23+00:00</published>
		<updated>2023-07-29T17:46:03+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text">Mysql 데몬 문제joinc는 mysql(:12)을 이용해서 데이터 베이스를 관리한다. 그런데, 주기적으로 CPU 점유율을 100%가량 가까이 먹어버리는 경우가 발생한다. 추적해 본 결과 검색엔진(:12)기타 몇몇 로봇들이 사이트를 크롤링 하면서 이런 문제가 발생하는 것같았다. 명확하지는 않다. 몇몇 로봇은 아예 막아버리기도 했으나 근본적인 해결책은 되지 않았다. 그래서 mysql 데몬의 CPU 점유율을 제한해 버리기로 했다. 정상적인 요청...</summary>
	<content type="html">&lt;div&gt;&lt;h3&gt;&lt;a id=&quot;s-1&quot;&gt;&lt;/a&gt;Mysql 데몬 문제&lt;/h3&gt;&lt;div id=&quot;sc-1&quot;&gt;&lt;div&gt;joinc는 mysql(:12)을 이용해서 데이터 베이스를 관리한다. 그런데, 주기적으로 CPU 점유율을 100%가량 가까이 먹어버리는 경우가 발생한다. 추적해 본 결과 검색엔진(:12)기타 몇몇 로봇들이 사이트를 크롤링 하면서 이런 문제가 발생하는 것같았다. 명확하지는 않다. 몇몇 로봇은 아예 막아버리기도 했으나 근본적인 해결책은 되지 않았다. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;그래서 mysql 데몬의 CPU 점유율을 제한해 버리기로 했다. 정상적인 요청이라면 CPU 자원을 10% 정도만 할당해도, 서비스를 하는데 문제 없을 것이라 생각되기 때문이다. &lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;h3&gt;&lt;a id=&quot;s-2&quot;&gt;&lt;/a&gt;cpulimit&lt;/h3&gt;&lt;div id=&quot;sc-2&quot;&gt;&lt;div&gt;관련 프로그램이 있는지 구글(:12)신탁을 받기로 했다. 신탁의 결과물은 cpulimit 였다. 신탁을 받들어서 다운받았는데, 소스코드 하나와 make파일 하나만 포함한 아주 간단한 프로그램이였다. 간단해서 코드를 살펴봤다. proc(:12) 파일 시스템을 뒤져서 지정된 프로세스(:12)의 PID를 얻어오고 SIGSTOP와 SIGCONT 시그널(:12)을 이용해서 짧은 휴식을 주는 식으로 사용율을 조절했다. 괜찮은 방법 같았다. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;사용 방법은 간단하다. 프로세스 이름이 mysqld인 프로세스의 CPU 점유율을 30%로 제한했다. &lt;pre class=&quot;wiki&quot;&gt;# cpulimit --exe mysqld --limit 30 &lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;PID단위로 제한할 수도 있다. &lt;pre class=&quot;wiki&quot;&gt;# cpulimit --pid 1111 --limit 30 &lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;h3&gt;&lt;a id=&quot;s-3&quot;&gt;&lt;/a&gt;사용 후기&lt;/h3&gt;&lt;div id=&quot;sc-3&quot;&gt;&lt;div&gt;cpulimit로 mysqld의 cpu 점유율을 제한한 후, 컴퓨팅 환경이 좋아진 것을 체감할 수 있을 정도로 효과가 있었다. 혹시 비슷한 문제로 고민하고 있다면 cpulimit를 추천한다. 간혹 단일 http 프로세스가 100%가 되는 경우도 있는데, 이것도 제한해볼까 생각중이다. 정상적이라면 50%를 넘어서는 안될 것이라고 생각되기 때문이다. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;적당한 CPU 제한치는 프로세스 사용율 통계자료를 분석해서 설정해야 할 것으로 생각된다. &lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/System_management/Tool/cpulimit&quot;&gt;http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/System_management/Tool/cpulimit&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content>		<category term="Mysql"/><category term="데몬"/><category term="문제"/><category term="해결"/><category term="방안"/><category term="cpulimit"/>	</entry><entry>
		<title>리눅스 실시간으로 로그 보기 tail 명령어</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/101894"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/101894#comment"/>		<id>https://adminid.kr/mysql/101894</id>
		<published>2015-03-16T13:39:41+00:00</published>
		<updated>2015-12-31T18:52:22+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text">어떤 파일에서 마지막 라인을 보고 싶을때 tail 명령을 쓴다.. [실시간으로 로그보기] tail -f /opt/tomcat/log/output.log [마지막 라인에서 50번째 라인까지 보기] tail -50 [파일이름].txt [옵션] f : 파일의 마지막 10라인을 실시간으로 계속해서 출력 F : 파일 변동 시 실시간으로 보여주되 로그파일처럼 특정 시간이 지난 후 파일이 변하게 되면 새로운 파일을 오픈하여 보여줌 (다시 명령을 실행할 필요가 없음) n : n 만큼...</summary>
	<content type="html">&lt;p&gt;어떤 파일에서 마지막 라인을 보고 싶을때 tail 명령을 쓴다..&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;[실시간으로 로그보기]&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;tail -f /opt/tomcat/log/output.log&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;[마지막 라인에서 50번째 라인까지 보기]&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;tail -50 [파일이름].txt&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;[옵션]&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;f : 파일의 마지막 10라인을&amp;nbsp;실시간으로 계속해서 출력&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;F : 파일 변동 시 실시간으로 보여주되 로그파일처럼 특정 시간이 지난 후 파일이 변하게 되면 새로운 파일을 오픈하여 보여줌 &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(다시 명령을 실행할 필요가 없음)&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;n : n 만큼의 라인을 출력&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;n+n : 마지막 줄이 아니라 첫번째 줄부터 시작해 n 번째 라인 이후부터 출력&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;--byte=n : n바이트 만큼의 내용을 출력&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;※ n은 숫자 ※&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;참참...&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;반대로 첫라인 보고 싶으면 head&amp;nbsp;명령을 쓰자..&lt;/p&gt; &lt;p&gt;&lt;!-- &lt;div class=&quot;article_to_sns_wrap&quot;&gt; &lt;div class=&quot;article_to_sns_box&quot;&gt; &lt;div class=&quot;article_to_sns_bg&quot;&gt;&lt;/div&gt; &lt;a class=&quot;article_to_mypeople&quot; href=&quot;#&quot; onclick=&quot;shareSNS(&#039;mypeople&#039;, &#039;$snsurl&#039;, &#039;$snstitle&#039;, &#039;$snssummary&#039;); return false;&quot;&gt;요즘&lt;/a&gt; &lt;a class=&quot;article_to_twitter&quot; href=&quot;#&quot; onclick=&quot;shareSNS(&#039;twitter&#039;, &#039;$snsurl&#039;, &#039;$snstitle&#039;, &#039;$snssummary&#039;, &#039;&#039;); return false;&quot;&gt;트위터&lt;/a&gt; &lt;a class=&quot;article_to_facebook&quot; href=&quot;#&quot; onclick=&quot;shareSNS(&#039;facebook&#039;, &#039;$snsurl&#039;, &#039;$snstitle&#039;, &#039;$snssummary&#039;, &#039;&#039;); return false;&quot;&gt;페이스북&lt;/a&gt; &lt;a class=&quot;article_to_more&quot; href=&quot;javascript:;&quot; onmouseover=&quot;showMoreSNS(event);&quot; onmouseout=&quot;hideMoreSNS(event);&quot;&gt;더보기&lt;/a&gt; &lt;div class=&quot;sns_more_wrap&quot; id=&quot;moreSNS&quot; onmouseout=&quot;hideMoreSNS(event);&quot;&gt; &lt;div class=&quot;sns_more&quot;&gt; &lt;a class=&quot;article_to_etc p11&quot; href=&quot;#&quot; onclick=&quot;shareSNS(&#039;nate&#039;, &#039;$snsurl&#039;, &#039;$snstitle&#039;, &#039;$snssummary&#039;, &#039;&#039;); return false;&quot;&gt;&lt;img class=&quot;nate_icon&quot; src=&quot;http://i1.daumcdn.net/pimg/blog4/skin/common/img_blank.gif&quot; /&gt;싸이월드&lt;/a&gt; &lt;a class=&quot;article_to_etc p11&quot; href=&quot;#&quot; onclick=&quot;shareSNS(&#039;me2day&#039;, &#039;$snsurl&#039;, &#039;$snstitle&#039;, &#039;$snssummary&#039;, &#039;&#039;); return false;&quot;&gt;&lt;img class=&quot;me2day_icon&quot; src=&quot;http://i1.daumcdn.net/pimg/blog4/skin/common/img_blank.gif&quot; /&gt;미투데이&lt;/a&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; --&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://blog.daum.net/bryanjo/7795945&quot;&gt;http://blog.daum.net/bryanjo/7795945&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content>		<category term="리눅스"/><category term="실시간"/><category term="로그"/><category term="보기"/><category term="tail"/><category term="명령어"/>	</entry><entry>
		<title>mysql 5.5.x my.cnf 참고</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/101889"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/101889#comment"/>		<id>https://adminid.kr/mysql/101889</id>
		<published>2015-03-16T13:31:50+00:00</published>
		<updated>2015-03-16T13:31:50+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text">참고 14.2.3.1. 테이블 당 테이블스페이스 사용하기 [mysqld] innodb_file_per_table = 1 # 20140719 datadir = /data/mysql socket = /var/lib/mysql/mysql.sock user=mysql init_connect=SET collation_connection = utf8_general_ci init_connect=SET NAMES utf8 character-set-server = utf8 collation-server = utf8_general_ci big-tables default-storage-engine = InnoDB # 기본 엔진설정 skip-host-cache skip-name-resolv...</summary>
	<content type="html">&lt;p&gt;참고 &lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.mysqlkorea.co.kr/sub.html?mcode=manual&amp;amp;scode=01&amp;amp;m_no=21860&amp;amp;cat1=14&amp;amp;cat2=422&amp;amp;cat3=437&amp;amp;lang=k&quot;&gt;14.2.3.1. 테이블 당 테이블스페이스 사용하기&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt; &lt;pre class=&quot;brush: bash;&quot;&gt;[mysqld] innodb_file_per_table = 1 # 20140719 datadir = /data/mysql socket = /var/lib/mysql/mysql.sock user=mysql init_connect=SET collation_connection = utf8_general_ci init_connect=SET NAMES utf8 character-set-server = utf8 collation-server = utf8_general_ci big-tables default-storage-engine = InnoDB # 기본 엔진설정 skip-host-cache skip-name-resolve # 역DNS 검색 비활성 skip-external-locking # 외부(TCP/IP) 잠금 비활성 max_connections = 500 table_cache = 256 wait_timeout = 50 ## General 로그를 사용하려면 아래 설정은 그대로 유지하고 ## MySQL 서버에 로그인한 후 “SET GLOBALgeneral_log=1″ 명령으로 활성화 general_log = 1 # 0=제네럴로그 비활성 general_log_file = /var/log/mysql/general_query.log # 제네럴로그 파일경로 log_slow_admin_statements # DDL쿼리도 슬로우 쿼리에 기록 slow-query-log = 1 # 슬로우 쿼리로그 활성화 long_query_time = 1 # 이 변수값보다 쿼리처리가 길게 걸린다면 에러로그에 기록 slow_query_log_file = /var/log/mysql/slow_query.log # 슬로우 쿼리 로그파일 경로 ## MySQL 스케줄러를 사용하려면 아래 event-scheduler 옵션을 ON으로 변경 #event-scheduler = OFF # 이벤트 비활성 sysdate-is-now # 함수 sysdate()와 now() 동일하게 처리 back_log = 100 # 동시접속시 대기시킬수있는 커넥션 갯수 max_connections = 300 # 최대 클라이언트 연결 갯수 max_connect_errors = 999999 thread_cache_size = 50 # 다쓴 쓰레드를 스레드풀에 저장할 갯수 table_open_cache = 400 # 각 쓰레드별 오픈할 테이블수 wait_timeout = 28800 # 커넥션 최대 대기시간(초) max_allowed_packet = 32M # 요청된 쿼리의 최대길이의 값 max_heap_table_size = 32M # MEMORY 테이블의 최대크기 tmp_table_size = 512K # 메모리 내의 임시테이블 크기 초과시 디스크에 저장 # 2012.09.13, xCode, ref http://dev.kthcorp.com/2011/07/01/mysql-innodb-storage-engine-benchmark/ #sort_buffer_size = 128K # 정렬에 필요한 버퍼의 크기 ORDER BY 또는 GROUP BY 연산 속도와 관련 #join_buffer_size = 128K # 조인이 테이블을 풀스캔 하기위해 사용하는 버퍼크기 #read_buffer_size = 128K # 테이블 스캔에 필요한 버퍼크기 #read_rnd_buffer_size = 128K # 디스크 검색을 피하기위한 랜덤 읽기 버퍼크기 sort_buffer_size = 512K # 정렬에 필요한 버퍼의 크기 ORDER BY 또는 GROUP BY 연산 속도와 관련 join_buffer_size = 6K # 조인이 테이블을 풀스캔 하기위해 사용하는 버퍼크기 read_buffer_size = 64K # 테이블 스캔에 필요한 버퍼크기 read_rnd_buffer_size = 256K # 디스크 검색을 피하기위한 랜덤 읽기 버퍼크기 query_cache_size = 32M # 쿼리 결과를 캐싱라기 위해 할당된 메모리 크기 query_cache_limit = 2M # 이 변수 값보다 큰 값은 캐싱이 안됨 group_concat_max_len = 1024 # GROUP_CONCAT()함수 사용시 컬럼값 최대크기 # 2012.09.13, xCode, 1 chip x 8 core thread_concurrency = 2 # 쓰레스 갯수 ## 마스터 MySQL 서버에서 “레코드 기반 복제”를 사용할 대는 READ-COMMIT 사용 가능 ## 복제에 참여하지 않는 MySQL 서버에서는 READ-COMMIT 사용 가능 ## 그 외에는 반드시 REPEATABLE-READ로 사용 transaction-isolation = REPEATABLE-READ # isolation 레벨 [READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE] [innoDB] innodb_file_per_table = 1 # 테이블 단위로 테이블스페이스 할당, 활성시 확장자 .ibd 파일이 생성됨 innodb_data_home_dir = /data/mysql # innodb 홈디렉터리 경로 innodb_data_file_path = ibdata1:256M:autoextend # 파일명 : 초기용량 : 자동증가 : 최대사이즈 innodb_autoextend_increment = 100 #테이블 스페이스 자동 확장시 크기 innodb_log_group_home_dir = /data/mysql innodb_log_arch_dir = /data/mysql # 로그 디렉터리 정보 innodb_buffer_pool_size = 10G # 데이터와 인덱스를 캐시하기 위해 사용하는 메모리 버퍼크기 # innodb에서 사용할 메모리 양으로 전체 메모리의 50~80% 정도로 설정 innodb_additional_mem_pool_size = 16M # 데이터 디렉토리 정보와 내부 데이타 구조를 저장하는 메모리 풀의 크기 innodb_log_buffer_size = 16M # Redo 로그 버퍼크기 # 로그 버퍼 사이즈로 성능에 맞춰 로그를 기록하는 경우 크게 설정 innodb_log_file_size = 64M # 로그 파일 사이즈로 버퍼풀 사이즈의 25% 정도로 설정 innodb_flush_log_at_trx_commit = 2 # 커밋 로그 옵션으로 성능 최적화로 1분마다 저장되도록 2로 설정 # 1=트랜젝션 실행할때마다 로그 파일에 기록되고 디스크 플러시가 실행 innodb_support_xa = OFF # 트렌젝션 two-phase commit 지원, 디스크 플러시 횟수를 줄여 성능항상 # 분산데이터 기능 (2-PhaseCommit) # 2012.09.13, xCode, 1 chip x 8 core #innodb_thread_concurrency = 0 # InooDB내에 쓰레드 갯수, 변수 0은 쓰레드간 동시성 비활성화 innodb_lock_wait_timeout = 20 # 롤백이 진행되기 전에 LOCK을 대기하는 시간(초) innodb_force_recovery = 0 # 크래시 복구 모드 설정 innodb_flush_method = O_DSYNC # 성능을 위해 메모리에서 직접 액세스 하도록 설정 innodb_purge_threads = 1 innodb-read-io-threads = 2 innodb-write-io-threads = 2 innodb_thread_concurrency = 6 innodb-buffer-pool-instance = 3 # O_DIRECT=운영체제의 버퍼를 사용 않고 IO 실행, RAID 컨트롤러(캐시메모리 장착된)가 없거나 SAN 사용시 O_DIRECT를 사용 하지 않음 innodb_doublewrite = 0 # 이중 쓰기 버퍼 비활성 innodb_sync_spin_loops = 20 # 쓰레드가 지연되기 전에 (suspended) 풀어 주기 위해 InnoDB 뮤텍스 (mutex)를 기다리는 쓰레드의 대기 시간 innodb_table_locks = 1 # LOCK TABLES은 AUTOCOMMIT=0경우에, InnoDB로 하여금 내부적으로 테이블을 잠금 innodb_thread_sleep_delay = 1000 # InnoDB 큐를 조이닝 (joining)하기 전에 InnoDB 쓰레드가 일시 정지 (sleep)하는 시간 innodb_max_purge_lag = 0 # 퍼지 연산 (purge operation)이 래깅 (lagging)될 때 INSERT, UPDATE 및 DELETE 연산을 지연 시키는 방법을 제어, 디폴트값 0일시 지연 없음 innodb_commit_concurrency = 0 # 동시에 실행되는 쓰레드의 숫자. 이 값이 0이 되면 동시성 제어 (concurrency control)가 비활성화 innodb_concurrency_tickets = 500 # InnoDB에 동시에 들어갈 수 있는 쓰레드의 숫자는 innodb_thread_concurrency 변수로 알아볼 수가 있다. 여러 개의 쓰레드가 이미 컨커런시 한계에 도달하였다면, 하나의 쓰레드만이 큐에 들어갈 수 있다. 하나이 쓰레드가 InnoDB에 들어가게 되면, innodb_concurrency_tickets의 값과 일치하는 “자유 티켓”의 숫자가 주어지고, 쓰레드가 자신의 티켓을 사용하기 전 까지는 자유롭게 InnoDB에 들어가고 나올 수가 있다. 이런 후에는, 쓰레드는 다시금 일관성 검사를 하고 InnoDB에 다시 들어가려고 시도하게 된다 [mysql] default-character-set=utf8 show-warnings # 경고 발생시 메세지 자동 출력 prompt=\u@\h:\d\_\R:\m:\\s&amp;gt; # SQL 프롬프트 설정 #pager=”less -n -i -F -X -E” # 데이터 출력시 페이징처리 #no-auto-rehash # 자동 완성 기능 비활성화 #safe-updates # 데이터 변경 또는 삭제시 wherer구문 필수입력 [myisam] ## InnoDB를 사용하지 않고 MyISAM만 사용한다면 key_buffer_size를 4GB까지 설정 key_buffer_size = 32M # 인텍스 캐시 크기 bulk_insert_buffer_size = 32M # 대량 삽입에 사용된 트리 캐시의 크기, 쓰레드당 각각 할당됨 myisam_sort_buffer_size = 1M # 인덱스 정렬시 할당되는 버퍼의 크기 myisam_max_sort_file_size = 2G # 인덱스 재 생성시 사용할 임시 파일의 최대 크기 myisam_repair_threads = 1 # 정렬 복구시 사용될 쓰레드 갯수 myisam_recover # MyISAM 테이블을 열었을시 테이블 자동복구 ft_min_word_len = 3 # 하나의 FULLTEXT 인덱스에 포함 되는 단어의 최소 길이 값, # 변경후 REPAIR TABLE tbl_name QUICK 으로 재 구축해야함 [mysqld_safe] log-warnings = 1 # 에러로그에 경고메세지 기록 log-error=/var/log/mysqld.log # 에러로그 파일경로 pid-file=/var/run/mysqld/mysqld.pid # 프로세스 ID 파일경로 # 2012.09.13, xCode tcmalloc on [ndbd] connect-string=&quot;nodeid=2;host=localhost:1186&quot; [ndb_mgm] connect-string=&quot;host=localhost:1186&quot;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://bluebreeze.co.kr/m/post/608&quot;&gt;http://bluebreeze.co.kr/m/post/608&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content>		<category term="mysql"/><category term="5.5.x"/><category term="my.cnf"/><category term="참고"/>	</entry><entry>
		<title>Mysql Slow query log 등록</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/101883"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/101883#comment"/>		<id>https://adminid.kr/mysql/101883</id>
		<published>2015-03-16T11:25:18+00:00</published>
		<updated>2015-03-16T11:25:18+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text">대량의 데이터를 조회하거나 잘못된 인덱스 사용으로 인해 장시간 Mysql 프로세스가 물리는 현상이 발생 할 경우 어떤 쿼리문이 이런 현상을 야기 시켰느냐에 대한 분석 시 Slow Query 를 사용하시면 손 쉽게 부하가 증가되는 쿼리를 찾으실 수 있으실 것입니다. &lt;사용 방법&gt; 1. mysql 환경 설정 파일인 my.cnf 파일에 아래 내용을 추가 하시면 됩니다. [mysqld] long_query_time=초제한(1~10) log-slow-queries=로그파일명 ex) [my...</summary>
	<content type="html">&lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;대량의 데이터를 조회하거나 &lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;div class=&quot;entry-content&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;잘못된 인덱스 사용으로 인해 장시간 Mysql 프로세스가 물리는 현상이 발생 할 경우 &lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;어떤 쿼리문이 이런 현상을 야기 시켰느냐에 대한 분석 시&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;font color=&quot;#3a32c3&quot;&gt;&lt;strong&gt;Slow Query 를 사용하시면 손 쉽게 부하가 증가되는 쿼리를 찾으실&lt;/strong&gt; &lt;/font&gt;&lt;strong&gt;&lt;font color=&quot;#3a32c3&quot;&gt;수 있으실 것입니다.&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&amp;lt;사용 방법&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#ffaa00&quot;&gt;1. mysql 환경 설정 파일인 my.cnf 파일에 아래 내용을 추가 하시면 됩니다.&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;[mysqld]&lt;/span&gt;&lt;br /&gt;&lt;font face=&quot;GulimChe&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;long_query_time=&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;초제한(1~10)&lt;/span&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;font color=&quot;#000000&quot; face=&quot;GulimChe&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;strong&gt;log-slow-queries=로그파일명&lt;/strong&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;font face=&quot;굴림체&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;ex)&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;font face=&quot;굴림체&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;[mysqld]&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;log-slow-queries = /temp/mysql-slow.log&lt;/font&gt;&lt;/span&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;long_query_time = 3&lt;/span&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;위의 의미는 쿼리타임이 3초를 초과하는 쿼리에 대해 /temp/mysql-slow.log 파일에 로그를 남기라는 의미 입니다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#ffaa00&quot;&gt;2. mysql 구동시 적용하는 방법이 있습니다.&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;$ mysqld_safe --datadir=데이터디렉토리 &lt;/span&gt;&lt;font face=&quot;GulimChe&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;--log-slow-queries[=&lt;/span&gt;&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;file_name&lt;/span&gt;&lt;/code&gt;&lt;/em&gt;&lt;/font&gt;&lt;font face=&quot;GulimChe&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;] &lt;/span&gt;&lt;font face=&quot;GulimChe&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림; font-size: 11pt;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#ff0000&quot;&gt;&amp;lt; 로그 파일의 내용 &amp;gt;&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;# Time: 080218 13:25:06&lt;/font&gt;&lt;/span&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;# &lt;/span&gt;&lt;a class=&quot;con_link&quot; href=&quot;mailto:User@Host&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;User@Host&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;: XXXXX[xxxxx] @ localhost [127.0.0.1]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;# Query_time: 8&amp;nbsp; Lock_time: 0&amp;nbsp; Rows_sent: 1&amp;nbsp; Rows_examined: 98767&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;use CrediMail;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;SELECT count(*) FROM test&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;위의 양식으로 slow 쿼리가 남게 됩니다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;slow log 로 남은 쿼리들은 &lt;font color=&quot;#00b0a2&quot;&gt;&lt;strong&gt;explain 을 사용하여 정상적인 index를 타고 있는지 체크&lt;/strong&gt; &lt;/font&gt;해 보는 방법으로 &lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;문제점을 찾아 가시면 될 것입니다.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;ex) mysql&amp;gt;explain 문제시 되는 쿼리;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&amp;lt;참고&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;Query_time : 쿼리 처리 시간&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;Lock_time : lock 이 걸린 횟수&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;Row_sent : 조회 결과 Row 수&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;Rows_examined : 조회 대상 Row 수&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;strong&gt;Reference URL&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;a class=&quot;con_link&quot; href=&quot;http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-family: 굴림;&quot;&gt;http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html&lt;/span&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;a class=&quot;con_link&quot; href=&quot;http://www.sitepoint.com/forums/showthread.php?t=397521&quot; target=&quot;_blank&quot;&gt;http://www.sitepoint.com/forums/showthread.php?t=397521 &lt;/a&gt;&lt;/font&gt;&lt;/p&gt; &lt;div class=&quot;autosourcing-stub-saved&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;autosourcing-stub-saved&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;autosourcing-stub-saved&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;Setting my.cnf for log slow queries&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;autosourcing-stub-saved&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;MySQL을 운용하다보면 궁극적으로 봉착하는 문제가 바로 Slow queriy 다. 이 Slow query 야말로 모둔 query의 적이라 해도 과언이 아니라고 생각한다. MySQL에서는이 Slow query를 log로 기록할수 있게 되어있는데 이 설정이 꽤나 delicate 하다. 다음은 MySQL 5.0에서 동작하는 설정이다.&lt;/font&gt;&lt;/p&gt; &lt;h1&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;1. Check the gloval variables&lt;/font&gt;&lt;/h1&gt;&lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;in the mysql command prompt,&lt;/font&gt;&lt;/p&gt; &lt;h3&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;show global variables WHERE Variable_name LIKE ‘l%’;&lt;/font&gt;&lt;/h3&gt;&lt;blockquote&gt;&lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;+———————————+—————————+&lt;br /&gt;&lt;span id=&quot;callbacknestleepfetistorycom1632950&quot; style=&quot;width: 1px; height: 1px; float: right;&quot;&gt;&lt;/span&gt;| Variable_name | Value |&lt;br /&gt;+———————————+—————————+&lt;br /&gt;| language | /usr/share/mysql/english/ |&lt;br /&gt;| large_files_support | ON |&lt;br /&gt;| large_page_size | 0 |&lt;br /&gt;| large_pages | OFF |&lt;br /&gt;| license | GPL |&lt;br /&gt;| local_infile | ON |&lt;br /&gt;| locked_in_memory | OFF |&lt;br /&gt;| log | OFF |&lt;br /&gt;| log_bin | OFF |&lt;br /&gt;| log_bin_trust_function_creators | OFF |&lt;br /&gt;| log_error | |&lt;br /&gt;| log_slave_updates | OFF |&lt;br /&gt;| log_slow_queries | ON |&lt;br /&gt;| log_warnings | 1 |&lt;br /&gt;| long_query_time | 3 |&lt;br /&gt;| low_priority_updates | OFF |&lt;br /&gt;| lower_case_file_system | OFF |&lt;br /&gt;| lower_case_table_names | 0 |&lt;br /&gt;+———————————+—————————+&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;&lt;h1&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;2. Configuration&lt;/font&gt;&lt;/h1&gt;&lt;blockquote&gt;&lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;[mysqld]&lt;br /&gt;datadir=/var/lib/mysql&lt;br /&gt;socket=/var/lib/mysql/mysql.sock&lt;br /&gt;# Default to using old password format for compatibility with mysql 3.x&lt;br /&gt;# clients (those using the mysqlclient10 compatibility package).&lt;br /&gt;old_passwords=1&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;# added 1007/10/05&lt;br /&gt;max_connections = 10000&lt;br /&gt;table_cache = 256&lt;br /&gt;wait_timeout = 900&lt;br /&gt;max_connect_errors = 10000&lt;br /&gt;key_buffer = 16M&lt;br /&gt;sort_buffer = 1M&lt;br /&gt;set-variable = long_query_time=3&lt;br /&gt;log-slow-queries=/var/log/mysqld-slow.log&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;[mysql.server]&lt;br /&gt;user=mysql&lt;br /&gt;basedir=/var/lib&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;[mysqld_safe]&lt;br /&gt;log-error=/var/log/mysqld.log&lt;br /&gt;#log-slow-queries=/var/log/mysqld-slow.log&lt;br /&gt;pid-file=/var/run/mysqld/mysqld.pid&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;# added 2007/10/05&lt;br /&gt;#set-variable = long_query_time=3&lt;br /&gt;#log-slow-queries=/var/log/mysqld-slow.log&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;&lt;/div&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;Usage: mysqldumpslow [ OPTS... ] [ LOGS... ]&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;Parse and summarize the MySQL slow query log. Options are&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&amp;nbsp; --verbose &amp;nbsp;&amp;nbsp; verbose&lt;br /&gt;&amp;nbsp; --debug &amp;nbsp; &amp;nbsp;&amp;nbsp; debug&lt;br /&gt;&amp;nbsp; --help &amp;nbsp; &amp;nbsp; &amp;nbsp; write this text to standard output&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&amp;nbsp; -v &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; verbose&lt;br /&gt;&amp;nbsp; -d &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; debug&lt;br /&gt;&amp;nbsp; -s ORDER &amp;nbsp; &amp;nbsp; what to sort by (t, at, l, al, r, ar etc), &#039;at&#039; is default&lt;br /&gt;&amp;nbsp; -r &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; reverse the sort order (largest last instead of first)&lt;br /&gt;&amp;nbsp; -t NUM &amp;nbsp; &amp;nbsp; &amp;nbsp; just show the top n queries&lt;br /&gt;&amp;nbsp; -a &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; don&#039;t abstract all numbers to N and strings to &#039;S&#039;&lt;br /&gt;&amp;nbsp; -n NUM &amp;nbsp; &amp;nbsp; &amp;nbsp; abstract numbers with at least n digits within names&lt;br /&gt;&amp;nbsp; -g PATTERN &amp;nbsp; grep: only consider stmts that include this string&lt;br /&gt;&amp;nbsp; -h HOSTNAME&amp;nbsp; hostname of db server for *-slow.log filename (can be wildcard),&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; default is &#039;*&#039;, i.e. match all&lt;br /&gt;&amp;nbsp; -i NAME &amp;nbsp; &amp;nbsp;&amp;nbsp; name of server instance (if using mysql.server startup script)&lt;br /&gt;&amp;nbsp; -l &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; don&#039;t subtract lock time from total time&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;strong&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt; font-weight: bold;&quot;&gt;Slow query filter &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;a class=&quot;con_link&quot; href=&quot;http://www.mysqlperformanceblog.com/files/utils/mysql_slow_log_filter&quot; target=&quot;_blank&quot;&gt;http://www.mysqlperformanceblog.com/files/utils/mysql_slow_log_filter&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;/o:p&gt;&lt;p&gt;&lt;/p&gt; &lt;/span&gt;&lt;p&gt;&lt;/p&gt; &lt;/font&gt;&lt;p&gt;&lt;font face=&quot;굴림&quot; size=&quot;3&quot;&gt; &lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;용도 &amp;nbsp;&lt;span lang=&quot;EN-US&quot;&gt;: slow query log &lt;/span&gt;에서 실행 시간이 일정 시간 이상이 되는 쿼리 와 일정 &lt;span lang=&quot;EN-US&quot;&gt;row &lt;/span&gt;이상&lt;span lang=&quot;EN-US&quot;&gt; access&lt;/span&gt;하는 쿼리만&lt;span lang=&quot;EN-US&quot;&gt; filter &lt;/span&gt;해 낼 수 있음&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;사용법 &lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;바탕&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 10pt;&quot;&gt;cat &lt;/span&gt;&lt;/font&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&#039;font-family: &quot;Times New Roman&quot;;&#039;&gt;‘&lt;/span&gt;&lt;/font&gt;&lt;span lang=&quot;EN-US&quot;&gt;slow query log&lt;/span&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&#039;font-family: &quot;Times New Roman&quot;;&#039;&gt;’&lt;/span&gt;&lt;/font&gt;&lt;span lang=&quot;EN-US&quot;&gt; msql_slow_log_filter -T timesec -R numrows&amp;nbsp; ( T, R option&lt;/span&gt;은 단독으로 사용할 수 있음 &lt;span lang=&quot;EN-US&quot;&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;Ex) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;strong&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt; font-weight: bold;&quot;&gt;cat&amp;nbsp; kidsmbbs1-slow.log | msql_slow_log_filter&amp;nbsp; -R 400000&amp;nbsp; ( 400000 row &lt;/span&gt;&lt;/font&gt;&lt;/strong&gt;&lt;strong&gt;&lt;font face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-weight: bold;&quot;&gt;이상 &lt;span lang=&quot;EN-US&quot;&gt;access &lt;/span&gt;하는 쿼리만 추출&lt;span lang=&quot;EN-US&quot;&gt; )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;SELECT /*!40001 SQL_NO_CACHE */ * FROM `tb_comment_121`;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;# Time: 070307&amp;nbsp; &lt;st1:time o:ls=&quot;trans&quot; hour=&quot;17&quot; minute=&quot;1&quot; w:st=&quot;on&quot;&gt;5:01:11&lt;/st1:time&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;# Query_time: 4&amp;nbsp; Lock_time: 0&amp;nbsp; Rows_sent: 31864&amp;nbsp; Rows_examined: 455198&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;select distinct code from tb_comment_121;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;# Time: 070307&amp;nbsp; &lt;st1:time o:ls=&quot;trans&quot; hour=&quot;17&quot; minute=&quot;6&quot; w:st=&quot;on&quot;&gt;5:06:17&lt;/st1:time&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;# Query_time: 5&amp;nbsp; Lock_time: 0&amp;nbsp; Rows_sent: 455596&amp;nbsp; Rows_examined: 455596&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;SELECT /*!40001 SQL_NO_CACHE */ * FROM `tb_comment_121`;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;# Time: 070308&amp;nbsp; &lt;st1:time o:ls=&quot;trans&quot; hour=&quot;17&quot; minute=&quot;1&quot; w:st=&quot;on&quot;&gt;5:01:09&lt;/st1:time&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;# Query_time: 4&amp;nbsp; Lock_time: 0&amp;nbsp; Rows_sent: 31905&amp;nbsp; Rows_examined: 455596&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;select distinct code from tb_comment_121;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;strong&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt; font-weight: bold;&quot;&gt;cat&amp;nbsp; kidsmbbs1-slow.log | msql_slow_log_filter&amp;nbsp; -T 8&amp;nbsp; ( 8&lt;/span&gt;&lt;/font&gt;&lt;/strong&gt;&lt;strong&gt;&lt;font face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-weight: bold;&quot;&gt;초 이상 걸리는 쿼리만 추출&lt;span lang=&quot;EN-US&quot;&gt; )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;strong&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt; font-weight: bold;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;SELECT /*!40001 SQL_NO_CACHE */ * FROM `tb_bbs_154`;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;# Time: 070306&amp;nbsp; &lt;st1:time o:ls=&quot;trans&quot; hour=&quot;17&quot; minute=&quot;0&quot; w:st=&quot;on&quot;&gt;5:00:40&lt;/st1:time&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;# Query_time: 8&amp;nbsp; Lock_time: 0&amp;nbsp; Rows_sent: 1&amp;nbsp; Rows_examined: 329849&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;select count(indexno) as su from tb_comment_160 where wdate&amp;gt;=1173020400 and wdate&amp;lt;=1173106800;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;# Time: 070306 &lt;st1:time o:ls=&quot;trans&quot; hour=&quot;14&quot; minute=&quot;13&quot; w:st=&quot;on&quot;&gt;14:13:22&lt;/st1:time&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;# Query_time: 15&amp;nbsp; Lock_time: 0&amp;nbsp; Rows_sent: 37014&amp;nbsp; Rows_examined: 37014&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;SELECT /*!40001 SQL_NO_CACHE */ * FROM `tb_bbs_154`;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;# Time: 070307&amp;nbsp; &lt;st1:time o:ls=&quot;trans&quot; hour=&quot;17&quot; minute=&quot;0&quot; w:st=&quot;on&quot;&gt;5:00:40&lt;/st1:time&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;# Query_time: 14&amp;nbsp; Lock_time: 0&amp;nbsp; Rows_sent: 37014&amp;nbsp; Rows_examined: 37014&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;SELECT /*!40001 SQL_NO_CACHE */ * FROM `tb_bbs_154`;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;strong&gt;&lt;strong&gt;&lt;font face=&quot;바탕&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 바탕;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;strong&gt;&lt;strong&gt;&lt;font face=&quot;바탕&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 바탕; font-size: 10pt;&quot;&gt;Aggregating slow query log&lt;/span&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;font face=&quot;굴림&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-weight: bold;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;a title=&quot;http://www.mysqlperformanceblog.com/files/utils/mysql_slow_log_parser&quot; class=&quot;con_link&quot; href=&quot;http://www.mysqlperformanceblog.com/files/utils/mysql_slow_log_parser&quot; target=&quot;_blank&quot;&gt;http://www.mysqlperformanceblog.com/files/utils/mysql_slow_log_parser&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;용도 &lt;span lang=&quot;EN-US&quot;&gt;: slow query log &lt;/span&gt;에 있는 &lt;span lang=&quot;EN-US&quot;&gt;slow query&lt;/span&gt;에 대해서&lt;span lang=&quot;EN-US&quot;&gt; aggregate &lt;/span&gt;한 정보를 보여줌&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;즉 실행 횟수&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;평균 수행 시간&lt;span lang=&quot;EN-US&quot;&gt;, &lt;/span&gt;총 수행 시간&lt;span lang=&quot;EN-US&quot;&gt; , access &lt;/span&gt;한 &lt;span lang=&quot;EN-US&quot;&gt;rows &amp;nbsp;, &lt;/span&gt;개인적으로 &lt;span lang=&quot;EN-US&quot;&gt;mysqldumpslow &lt;/span&gt;보다 보기&lt;span lang=&quot;EN-US&quot;&gt;&amp;nbsp; &lt;/span&gt;좋은 것 같습니다&lt;span lang=&quot;EN-US&quot;&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;### 4 Queries &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;### Total time: 12, Average time: 3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;### Taking 3 , 3 , 3 , 3&amp;nbsp; seconds to complete&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;### Rows analyzed 144673, 150153, 185656 and 189447&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;SELECT /*!XXX SQL_NO_CACHE */ * FROM `tb_bbs_limit`;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;SELECT /*!40001 SQL_NO_CACHE */ * FROM `tb_bbs_limit`;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;### 2 Queries &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;### Total time: 10, Average time: 5&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;### Taking 5 , 5&amp;nbsp; seconds to complete&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;### Rows analyzed 78261 and 81439&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;use ykids_bbs;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;굴림&quot; size=&quot;2&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: 굴림; font-size: 10pt;&quot;&gt;SELECT /*!XXX SQL_NO_CACHE */ * FROM `tb_bbs_XXX`; &lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://leepfe.tistory.com/163&quot;&gt;http://leepfe.tistory.com/163&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content>		<category term="Mysql"/><category term="Slow"/><category term="query"/><category term="log"/><category term="등록"/>	</entry><entry>
		<title>MYSQL 성능 향상 정리</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/101878"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/101878#comment"/>		<id>https://adminid.kr/mysql/101878</id>
		<published>2015-03-16T11:17:33+00:00</published>
		<updated>2015-03-16T11:17:33+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text">1.TABLE 관련 OPTIMIZE TABLE table type이 myisam이나 bdb에서 사용하며 많은양의 데이터가 삭제되었거나 삽입되었을때 사용하면 속도향상에 좋습니다. ex)optimaze table table_name; 2.QUERY 관련 JOIN join이 subquery보다 빠르다. join시 사용되는 컬럼은 동일한 column type과 길이를 가져야만 최적의 속도를 보장한다. index설정 인덱스를 적절히 잡아줍니다. 필요한 컬럼만 select 한다. select * 되어 있는부분을 필요할 ...</summary>
	<content type="html">&lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#d41a01&quot;&gt;&lt;strong&gt;1.TABLE 관련&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#d41a01&quot;&gt;&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;strong&gt;OPTIMIZE TABLE&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;table type이 myisam이나 bdb에서 사용하며 많은양의 데이터가 삭제되었거나 삽입되었을때 사용하면 속도향상에 좋습니다.&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;ex)optimaze table table_name;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#d41a01&quot;&gt;&lt;strong&gt;2.QUERY 관련&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#d41a01&quot;&gt;&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#333333&quot;&gt;&lt;strong&gt;JOIN&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;join이 subquery보다 빠르다.&lt;br /&gt;join시 사용되는 컬럼은 동일한 column type과 길이를 가져야만 최적의 속도를 보장한다.&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong&gt;index설정&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;인덱스를 적절히 잡아줍니다.&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong&gt;필요한 컬럼만 select 한다.&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;select * 되어 있는부분을 필요할 필드만 가져옵니다.&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong&gt;processlist로 실행 쿼리를 mysql상태를 체크&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;cd /usr/local/mysql&lt;br /&gt;./bin/mysqladmin -i3 processlist -ppassword&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;//3초에 한번씩 실행됩니다.&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong&gt;잘못된&amp;nbsp;query&amp;nbsp;발견&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;explain으로 질의과정 점검 몇번의 레코드를 검색하여 수행하는지 그리고 해당 컬럼이 index를 잘타는지 보고 쿼리를 수정합니다.&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;u&gt;&lt;/u&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong&gt;slow query log기능&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;slow query log를 걸어놓고 slow query time를 한 5초로 정해주시면 5초 이상 실행이 걸리는 쿼리는 모조리 로그에 남습니다.&lt;br /&gt;그 query를 튜닝합니다.(explain이용)&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;u&gt;&lt;/u&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong&gt;query우선 설정&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;select 구문에는&amp;nbsp;&lt;br /&gt;select HIGH_PRIORITY id,name, ... from table_name ...&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;delete, insert, update 구문에는&lt;br /&gt;delete LOW_PRIORITY from table_name ....&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;u&gt;&lt;/u&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong&gt;mysql 4.x&amp;nbsp;이상부터 지원!&amp;nbsp;&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;query cache을 사용합니다.&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong&gt;int형과char형의 검색속도차이&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;int 가 char보다는 검색속도가 더 빠르다고 하지만 시스템구성과 환경마다 다릅니다.&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#d41a01&quot;&gt;3.하드웨어 관련&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;u&gt;&lt;/u&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong&gt;웹호스팅이 아닌 서버호스팅을 합니다.&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;u&gt;&lt;/u&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong&gt;평균 조회 레코드 50만건이상&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;조회 데이타가 50만건~100만건이면 DB서버와 웹서버를(이미지 서버등등) 나누어 분산처리(2-Tier)하며 조회 건수가 100만건 이상은 ORACLE같은 상용 DB로 교체해야 한다.&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;u&gt;&lt;/u&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong&gt;메모리를 증설 합니다.&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;1-2G 정도&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;u&gt;&lt;/u&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong&gt;하드디스크 스카시로 교체&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;margin: 0px; padding: 0px; text-align: justify; color: rgb(51, 51, 51); line-height: 18px; font-family: 돋움; background-color: rgb(255, 255, 255);&quot;&gt;e-ide보다 데이타 io(입/출력) 더 빠르다.(10000 rpm이상급)&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://www.zetswing.com/bbs/board.php?bo_table=MySQL_LEC&amp;amp;wr_id=47&quot;&gt;http://www.zetswing.com/bbs/board.php?bo_table=MySQL_LEC&amp;amp;wr_id=47&lt;/a&gt;&lt;/p&gt;</content>		<category term="MYSQL"/><category term="성능"/><category term="향상"/><category term="정리"/>	</entry><entry>
		<title>MySQL Query Cache 사용법</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/101873"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/101873#comment"/>		<id>https://adminid.kr/mysql/101873</id>
		<published>2015-03-16T09:52:14+00:00</published>
		<updated>2015-03-16T09:52:14+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text">MySQL에서는 반복되는 쿼리를 효율적으로 처리하기 위한 캐쉬가 존재한다. 바로 query cache인데 이는 까다로운 조건에 의해 동작하고 pruning 과정에서 meta 정보의 lock이 발생할 수 있어서 조심해서 사용해야 한다. 일단 동작하는 조건은 아래와 같다. query cache에는 SQL문과 result set이 저장된다. 바로 이 cache에 저장되어 있는 SQL 문과 완전 동일(띄어쓰기까지..)하고 result set이 같은 쿼리가 수행될 때 query cache가...</summary>
	<content type="html">&lt;p style=&quot;border-width: 0px; padding: 7px 0px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;MySQL에서는 반복되는 쿼리를 효율적으로 처리하기 위한 캐쉬가 존재한다.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;바로 query cache인데 이는 까다로운 조건에 의해 동작하고 pruning 과정에서 meta 정보의 lock이 발생할 수 있어서 조심해서 사용해야 한다.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;일단 동작하는 조건은 아래와 같다.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;table style=&quot;margin: 5px 0px 10px; padding: 0px; border: 2px solid rgb(221, 221, 221); border-image: none; width: 628px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; border-collapse: collapse; border-spacing: 0px; background-color: rgb(249, 249, 249);&quot; border=&quot;1&quot;&gt;&lt;tbody style=&quot;border-width: 0px; margin: 0px; padding: 0px;&quot;&gt;&lt;tr style=&quot;border-width: 0px; margin: 0px; padding: 0px;&quot;&gt;&lt;td style=&quot;margin: 0px; padding: 5px; border: 2px solid rgb(221, 221, 221); border-image: none;&quot;&gt;&lt;p style=&quot;border-width: 0px; padding: 7px 0px;&quot;&gt;query cache에는 SQL문과 result set이 저장된다. 바로 이 cache에 저장되어 있는&amp;nbsp;&lt;span style=&quot;border-width: 0px; margin: 0px; padding: 0px; color: rgb(255, 0, 0);&quot;&gt;SQL 문&lt;/span&gt;과&amp;nbsp;&lt;span style=&quot;border-width: 0px; margin: 0px; padding: 0px; color: rgb(255, 0, 0);&quot;&gt;완전 동일(띄어쓰기까지..)&lt;/span&gt;하고&amp;nbsp;&lt;span style=&quot;border-width: 0px; margin: 0px; padding: 0px; color: rgb(255, 0, 0);&quot;&gt;result set이 같은 쿼리&lt;/span&gt;가 수행될 때 query cache가 동작하고 result set을 바로 반환한다.&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;보통 개발자들은 위와 같은 조건을 간과하고 무작정 같은 쿼리를 수행하면 query cache를 쓰는 것으로 알고 사용한다.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;그렇게 아무렇게나 쓰면 waiting query cache lock이라는 상태를 가진 프로세스로 인해 MySQL 서버가 hang이 걸릴 것이다&lt;em style=&quot;border-width: 0px; margin: 0px; padding: 0px;&quot;&gt;…(오랜시간 고쳐지지 않고 있는 버그..)&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;이러한 상태에 빠지는 것을 방지하기 위해서는 꼭 query cache를 사용해야 하는 쿼리에만 사용하도록 옵션을 주어 사용할 수 있다.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;query cache는 query_cache_type이라는 옵션을 통해 세 가지 타입을 제공한다.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;table style=&quot;margin: 5px 0px 10px; padding: 0px; border: 2px solid rgb(221, 221, 221); border-image: none; width: 628px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; border-collapse: collapse; border-spacing: 0px; background-color: rgb(249, 249, 249);&quot; border=&quot;1&quot;&gt;&lt;tbody style=&quot;border-width: 0px; margin: 0px; padding: 0px;&quot;&gt;&lt;tr style=&quot;border-width: 0px; margin: 0px; padding: 0px;&quot;&gt;&lt;td style=&quot;margin: 0px; padding: 5px; border: 2px solid rgb(221, 221, 221); border-image: none;&quot;&gt;&lt;p style=&quot;border-width: 0px; padding: 7px 0px;&quot;&gt;&lt;strong style=&quot;border-width: 0px; margin: 0px; padding: 0px;&quot;&gt;OFF (0)&lt;/strong&gt;&amp;nbsp;? Query cache를 사용하지 않는다.&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px;&quot;&gt;&lt;strong style=&quot;border-width: 0px; margin: 0px; padding: 0px;&quot;&gt;ON (1)&lt;/strong&gt;&amp;nbsp;? Query cache를 사용한다. (SQL_NO_CACHE 힌트를 사용하는 쿼리는 query cache를 사용하지 않는다.)&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px;&quot;&gt;&lt;strong style=&quot;border-width: 0px; margin: 0px; padding: 0px;&quot;&gt;DEMAND (2)&lt;/strong&gt;&amp;nbsp;? 선택한 쿼리만 query cache를 사용한다. (SQL_CACHE 힌트를 사용하는 쿼리는 query cache를 사용한다.)&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;위와 같은 설정은 my.cnf에서 설정 가능하고 세션 상에서도 설정이 가능하다.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;table style=&quot;margin: 5px 0px 10px; padding: 0px; border: 2px solid rgb(221, 221, 221); border-image: none; width: 628px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; border-collapse: collapse; border-spacing: 0px; background-color: rgb(249, 249, 249);&quot; border=&quot;1&quot;&gt;&lt;tbody style=&quot;border-width: 0px; margin: 0px; padding: 0px;&quot;&gt;&lt;tr style=&quot;border-width: 0px; margin: 0px; padding: 0px;&quot;&gt;&lt;td style=&quot;margin: 0px; padding: 5px; border: 2px solid rgb(221, 221, 221); border-image: none;&quot;&gt;&lt;p style=&quot;border-width: 0px; padding: 7px 0px;&quot;&gt;&lt;strong style=&quot;border-width: 0px; margin: 0px; padding: 0px;&quot;&gt;# 세션에서 dynamic하게 설정하는 방법&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px;&quot;&gt;&amp;nbsp;mysql&amp;gt; set global query_cache_type = 1;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px;&quot;&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px;&quot;&gt;&lt;strong style=&quot;border-width: 0px; margin: 0px; padding: 0px;&quot;&gt;# my.cnf에 설정 (재시작 시 적용)&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px;&quot;&gt;[mysqld]&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px;&quot;&gt;query_cache_type = 1;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;설정은 숫자로 설정을 하거나 alias를 통해 설정이 가능하다.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;query cache를 OFF할 경우에도 query_cache_size만큼 메모리를 할당하므로 해당 설정값을 0으로 설정하는 것을 권고한다.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;query cache를 사용할 경우에는 query_cache_size를 1024의 배수로 설정해야 한다. 다른 값으로 설정할 경우 반올림하여 적용된다.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;구조상 최소한 40KB 이상으로 설정해야 하며 적은 값으로 설정할 경우 warning이 발생한다.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;해당 값은 아래와 같이 설정한다.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;table style=&quot;margin: 5px 0px 10px; padding: 0px; border: 2px solid rgb(221, 221, 221); border-image: none; width: 628px; line-height: 22px; font-family: NanumGothic, Tahoma, Arial, Verdana; font-size: 13px; border-collapse: collapse; border-spacing: 0px; background-color: rgb(249, 249, 249);&quot; border=&quot;1&quot;&gt;&lt;tbody style=&quot;border-width: 0px; margin: 0px; padding: 0px;&quot;&gt;&lt;tr style=&quot;border-width: 0px; margin: 0px; padding: 0px;&quot;&gt;&lt;td style=&quot;margin: 0px; padding: 5px; border: 2px solid rgb(221, 221, 221); border-image: none;&quot;&gt;&lt;p style=&quot;border-width: 0px; padding: 7px 0px;&quot;&gt;&lt;strong style=&quot;border-width: 0px; margin: 0px; padding: 0px;&quot;&gt;# 세션에서 dynamic하게 설정하는 방법&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px;&quot;&gt;mysql&amp;gt; set global query_cache_size = 16*1024*1024;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px;&quot;&gt;&amp;nbsp;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px;&quot;&gt;&lt;strong style=&quot;border-width: 0px; margin: 0px; padding: 0px;&quot;&gt;# my.cnf에 설정 (재시작 시 적용)&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px;&quot;&gt;[mysqld]&lt;/p&gt; &lt;p style=&quot;border-width: 0px; padding: 7px 0px;&quot;&gt;query_cache_size = 16M;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://www.soonpenge.com/operate/12507175&quot;&gt;http://www.soonpenge.com/operate/12507175&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content>		<category term="MySQL"/><category term="Query"/><category term="Cache"/><category term="사용법"/>	</entry><entry>
		<title>Mysql 에서 Got a packet bigger than &#039;max_allowed_packet&#039; bytes 오류</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/100861"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/100861#comment"/>		<id>https://adminid.kr/mysql/100861</id>
		<published>2014-12-24T15:06:28+00:00</published>
		<updated>2015-05-19T14:16:26+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text">질문: 글쓴이: lovethecorners 작성 일시: 토, 2005/07/30 - 2:08오후 설치 및 활용 QnA mysql 4.0.14 에서 덤프를했습니다. 파일이 조금 큽니다. 525M 정도...근데, 이파일을 mysql 4.0.22 import 하려하는데 다음과 같은 에러를 보냅니다. Got a packet bigger than &#039;max_allowed_packet&#039; bytes my.cnf 도 수정해보았는데...역시 안되네요...아시는분 계신가요? 답변: 해결하셨다니 다행입니다. 혹시나 싶어 관련 내용을 좀 더 보...</summary>
	<content type="html">&lt;p&gt;질문:&lt;/p&gt; &lt;p&gt;&lt;span class=&quot;submitted&quot;&gt;글쓴이: &lt;a title=&quot;사용자 프로필 보기&quot; href=&quot;https://kldp.org/user/10775&quot;&gt;lovethecorners&lt;/a&gt; 작성 일시: 토, 2005/07/30 - 2:08오후&lt;/span&gt; &lt;/p&gt; &lt;div class=&quot;taxonomy&quot;&gt;&lt;ul class=&quot;links inline&quot;&gt;&lt;li class=&quot;taxonomy_term_6 first last&quot;&gt;&lt;a title=&quot;OS 및 애플리케이션 설치, 활용에 관한 질문/답변&quot; href=&quot;https://kldp.org/forum/6&quot; rel=&quot;tag&quot;&gt;설치 및 활용 QnA&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;content&quot;&gt;&lt;p&gt;mysql 4.0.14 에서 덤프를했습니다. 파일이 조금 큽니다. 525M 정도...근데, 이파일을 mysql 4.0.22 import 하려하는데 다음과 같은 에러를 보냅니다.&lt;/p&gt; &lt;p&gt;Got a packet bigger than &#039;max_allowed_packet&#039; bytes&lt;/p&gt; &lt;p&gt;my.cnf 도 수정해보았는데...역시 안되네요...아시는분 계신가요?&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;답변:&lt;/p&gt; &lt;p&gt;해결하셨다니 다행입니다.&lt;br /&gt;혹시나 싶어 관련 내용을 좀 더 보충하도록 하겠습니다.&lt;/p&gt; &lt;p&gt;mysql의 max_allowed_packet 설정값은 mysql이 클라이언트와 통신할 때 핸들링 할 수 있는 데이터의 양을 의미합니다. 디폴트로는 1mb로 설정되어 있습니다.&lt;/p&gt; &lt;p&gt;mysql 3.23버젼에선 이 값을 16mb까지 설정할 수 있고 4.0.1 이상부터는 1기가까지 가능합니다.&lt;/p&gt; &lt;p&gt;대량의 데이터를 mysql과 주고받을땐 connect timeout 시간이나 (혹시 server-side script를 이용한다면) 스크립트의 timeout시간도 확인해봐야 하며, timeout의 값이 충분히 설정되어 있다면 다음으로 max_allowed_packet의 값을 의심해봐야 합니다.&lt;/p&gt; &lt;p&gt;이 값은 mysql에 입력하는 데이터의 양 뿐만 아니라, 리턴되는 데이터의 양과도 관련이 있습니다. 따라서 대량의 데이터를 리턴받아야 하는 상황(blob data type같은..)이 요구될때도 설정값을 살펴봐야 합니다.&lt;/p&gt; &lt;p&gt;mysql.com에서는 이 값을 적당히 늘려주는 것이 더 좋다고(안전하다고) 밝히고 있습니다. mysql은 지정된 값만큼 항상 memory를 가지고 있는 것이 아니라, 필요한 양 만큼의 메모리만(단, max_allowed_packet의 값에 제한받습니다.) 사용합니다.&lt;/p&gt; &lt;p&gt;이상으로&lt;br /&gt;&lt;a href=&quot;http://dev.mysql.com/doc/mysql/en/packet-too-large.html&quot; target=&quot;_blank&quot;&gt;http://dev.mysql.com/doc/mysql/en/packet-too-large.html&lt;/a&gt;&lt;br /&gt;에 있는 내용 가지고 아는척 해봤습니다. :oops: :oops:&lt;br /&gt;&lt;/p&gt; &lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;https://kldp.org/node/55172&quot;&gt;https://kldp.org/node/55172&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content>		<category term="Mysql"/><category term="Got a packet bigger than &#039;max_allowed_packet&#039; bytes"/><category term="오류"/>	</entry><entry>
		<title>MySQL 내부 변수 max_allowed_packet</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/100858"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/100858#comment"/>		<id>https://adminid.kr/mysql/100858</id>
		<published>2014-12-24T15:04:11+00:00</published>
		<updated>2014-12-24T15:04:11+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text">우리의 친구 MySQL에는 내부적으로 런타임 때(즉, 프로그램이 시작될 때) 설정되는 내부 변수들을 가지고 있다. 이러한 내부 변수의 설정은, mysql 명령어를 이용하여 프로그램을 시작할 때, 직접 입력할 수도 있지만, my.cnf에 넣어두면 DEFAULT로 읽기 때문에, 미리미리 입력해 놓으면, 까먹거나 하는 사태가 발생하지 않는다. 그 중 오늘 살펴 볼 것은 max_allowed_packet 이다. 왜 하필 이 놈을???? 이라고 생각할 수도 있지만,...</summary>
	<content type="html">&lt;p&gt;우리의 친구 MySQL에는 내부적으로 런타임 때(즉, 프로그램이 시작될 때)&lt;br /&gt;설정되는 내부 변수들을 가지고 있다.&lt;br /&gt;&lt;br /&gt;이러한 내부 변수의 설정은, &lt;br /&gt;mysql 명령어를 이용하여 프로그램을 시작할 때, 직접 입력할 수도 있지만,&lt;br /&gt;&lt;br /&gt;my.cnf에 넣어두면 DEFAULT로 읽기 때문에, &lt;br /&gt;미리미리 입력해 놓으면, 까먹거나 하는 사태가 발생하지 않는다.&lt;br /&gt;&lt;br /&gt;그 중 오늘 살펴 볼 것은 &lt;font color=&quot;#ff3399&quot; size=&quot;3&quot;&gt;&lt;strong&gt;&lt;u&gt;max_allowed_packet&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt; 이다.&lt;br /&gt;&lt;br /&gt;왜 하필 이 놈을???? 이라고 생각할 수도 있지만,&lt;br /&gt;내가 오늘 이 놈때문에 고초를 겪었기 때문이라고 말할 수 밖에.......&lt;br /&gt;-0-;;;;&lt;br /&gt;&lt;br /&gt;일단 ERROR가 발생한 Log를 보자..&lt;br /&gt;아래 로그는 Replication이 설정 되어 있는 두 서버가 있고, &lt;br /&gt;&lt;br /&gt;이 중 Slave에서 Master의 Log를 다 읽지 못하고, &lt;br /&gt;max_allowed_packet 탓을 하고 있는 장면이다.&lt;br /&gt;&lt;br /&gt;##################################################################&lt;br /&gt;80715 15:02:00 [ERROR] &lt;font color=&quot;#ff9900&quot;&gt;Error reading packet from server: Got packet bigger than &#039;max_allowed_packet&#039; bytes&lt;/font&gt; ( server_errno=2020)&lt;br /&gt; 80715 15:02:00 [ERROR] &lt;font color=&quot;#ff9900&quot;&gt;Log entry on master is longer than max_allowed_packet&lt;/font&gt; (1048013) on slave. If the entry is correct, &lt;font color=&quot;#ff0000&quot;&gt;&lt;u&gt;restart the server with a higher value of max_allowed_pac&lt;br /&gt; et&lt;br /&gt;&lt;/u&gt;&lt;/font&gt;####################################################################&lt;br /&gt;&lt;font color=&quot;#ff0000&quot;&gt;&lt;strong&gt;&lt;u&gt;(설정을 바꾸면, MySQL 데몬을 죽이고 다시 시작해야 한다고 나오지?)&lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;이에 대해서,&lt;br /&gt;&lt;font face=&quot;굴림체&quot;&gt;MySQL REFERENCE 에는 max_allowed_packet에 대해 다음과 같이 말한다.&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;span id=&quot;callbacknestblackbulltistorycom121343&quot; style=&quot;width: 1px; height: 1px; float: right;&quot;&gt;&lt;/span&gt; ####################################################################&lt;br /&gt;&lt;font face=&quot;굴림체&quot;&gt;&lt;code&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-size: 9pt; mso-ansi-language: EN;&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#177fcd&quot;&gt;max_allowed_packet&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/code&gt;&lt;span lang=&quot;EN&quot; style=&quot;font-family: 굴림체; font-size: 9pt; mso-ansi-language: EN;&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#177fcd&quot;&gt; &lt;br /&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/font&gt;&lt;strong&gt;&lt;font color=&quot;#177fcd&quot;&gt;&lt;span style=&quot;font-family: 굴림체; font-size: 9pt; mso-ansi-language: EN;&quot;&gt;서버에 전달 또는 서버로부터 받게 되는 패킷의 최대 길이&lt;span lang=&quot;EN&quot;&gt;. (&lt;/span&gt;디폴트는 &lt;span lang=&quot;EN&quot;&gt;16MB&lt;/span&gt;임&lt;span lang=&quot;EN&quot;&gt;.)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/font&gt;&lt;/strong&gt;####################################################################&lt;br /&gt;&lt;br /&gt;즉, 이 말인 즉슨 한 번에 오고 가는 packet의 사이즈가 정해져 있다는 말씀이다.&lt;br /&gt;&lt;br /&gt;그런데 여기서 궁금한 것 !!!!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;font size=&quot;3&quot;&gt;Q.&lt;br /&gt;&lt;/font&gt;&lt;/strong&gt;TCP/IP 통신이 DEFAULT 인 MySQL의 패킷은,&lt;br /&gt;TCP에 의해 통신시 분명히 패킷이 쪼개져서 움직일 테인데,&lt;br /&gt;그것의 사이즈를 왜 정한다니..&lt;br /&gt;&lt;br /&gt;&lt;font size=&quot;3&quot;&gt;&lt;strong&gt;A.&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;&amp;lt; MySQL Packet Too large&amp;gt;&lt;br /&gt;&lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/packet-too-large.html&quot; target=&quot;_blank&quot;&gt;http://dev.mysql.com/doc/refman/5.0/en/packet-too-large.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;그런 점에 대해서 위의 링크에서 또 설명이 나온다.&lt;br /&gt;쏼라쏼라 풀어보면..&lt;br /&gt;&lt;br /&gt;---------------------------------------------------------------------------&lt;br /&gt;대저 &lt;strong&gt;&lt;font color=&quot;#ff9900&quot;&gt;MySQL에서의 Packet이라 함은&lt;br /&gt;&lt;/font&gt;&lt;font color=&quot;#ff9900&quot;&gt;Single SQL 문&lt;/font&gt;&lt;/strong&gt; 또는,&lt;br /&gt;&lt;font color=&quot;#ff9900&quot;&gt;&lt;strong&gt;Replication이 이루어지는 Master에서 Slave로의 Binary Log Event를 의미&lt;/strong&gt;&lt;/font&gt;한다.&lt;br /&gt; ..... MySQL 5.0 은 최대 1GB의 패킷을 허용하고 ......&lt;br /&gt;---------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;흠.. 그렇다면, TCP로 쪼개져서 들어온 패킷들이,&lt;br /&gt;뭉쳐져서 1개로 합쳐질 수 있는 한도 크기라는 의미로 보이는데....&lt;br /&gt;&lt;br /&gt;그렇게 된다면, &lt;br /&gt;TCP가 쪼개는 패킷의 사이즈와는 전혀 상관없다는 말씀이로군..&lt;br /&gt;쩝... --;; 그걸 왜 햇갈리게 Packet이라고 부르는거냣!!!!!&lt;br /&gt;&lt;br /&gt;암튼간에... &#039;그런거였군!!!!&#039; 하며 뒷목을 부여잡고,&lt;br /&gt;10 + 8 을 몇 번 한 후에,&lt;br /&gt;다음에 든 의문점을 알아 내기로 했다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font size=&quot;3&quot;&gt;&lt;strong&gt;Q.&lt;/strong&gt;&lt;/font&gt; &lt;br /&gt;왜 max_allowed_packet의 크기가 Default 16M라면서,&lt;br /&gt;실제 설치 후 값은 1M(1,048,576) 인 것이냐!!!!!&lt;br /&gt;&lt;br /&gt;&lt;font size=&quot;3&quot;&gt;&lt;strong&gt;A.&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;그런데... 두둥!! 이것 역시 아래 링크에 있더라..&lt;br /&gt;&lt;br /&gt;&amp;lt;MySQL Packet Too large - 위 링크랑 동일하다 -0-;;;&amp;gt;&lt;br /&gt;&lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/packet-too-large.html&quot; target=&quot;_blank&quot;&gt;http://dev.mysql.com/doc/refman/5.0/en/packet-too-large.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;또 한 번, 쏼라쏼라 말 중 찝어 오자면...&lt;br /&gt;프로그램은 DEFAULT max_allowed_packet 이&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;MySQL &lt;font color=&quot;#ff0000&quot;&gt;&lt;strong&gt;CLIENT &lt;/strong&gt;&lt;font color=&quot;#c1c1c1&quot;&gt;프로그램은 DEFAULT max_allowed_packet 이&lt;/font&gt;&lt;strong&gt;16M&lt;/strong&gt;&lt;/font&gt;.&lt;br /&gt; MySQL &lt;font color=&quot;#177fcd&quot;&gt;&lt;strong&gt;SERVER &lt;/strong&gt;&lt;font color=&quot;#c1c1c1&quot;&gt;의 DEFAULT max_allowed_packet 은&lt;/font&gt;&lt;strong&gt; 1M&lt;/strong&gt;&lt;/font&gt;....(이런 우라질리아 --;;)&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;라고 하더군....&amp;nbsp; &lt;br /&gt;쩝... 뒷 목이 뽀사지겠다 이눔아!!!!!!&lt;br /&gt;서버쯤 되면 사이즈 좀 크게 잡아줄 것이지... 쪼잔하게.. 1메가가 모니 --;;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;그러면... 다음 질문..&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;font size=&quot;3&quot;&gt;Q.&lt;/font&gt;&lt;/strong&gt; &lt;br /&gt;그런데, MySQL이 아무리 븅~ 이라고 할 지라도,&lt;br /&gt;어떻게 Packet을 쏘길래, 받지도 못 할만큼의 사이즈로 쏘는 것인가?&lt;br /&gt;&lt;br /&gt;&lt;font size=&quot;3&quot;&gt;&lt;strong&gt;A.&lt;/strong&gt;&lt;/font&gt; &lt;br /&gt;얼래.... 이것 역시 아래 링크에 나온다...&lt;br /&gt;&lt;br /&gt;&amp;lt;MySQL Packet Too large - 다른 링크 아니다. 위랑 똑같다 --;;&amp;gt;&lt;br /&gt;&lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/packet-too-large.html&quot; target=&quot;_blank&quot;&gt;http://dev.mysql.com/doc/refman/5.0/en/packet-too-large.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt; Client 와 Server는 각각 max_allowed_packet을 가지고 있다.&lt;br /&gt;만약,네넘이 커~~다란 사이즈의 Packet을 날리고 싶다면, &lt;br /&gt;&lt;font color=&quot;#ff0000&quot;&gt;&lt;strong&gt;Client와 Server&lt;/strong&gt;&lt;/font&gt;의 max_allowed_packet을 &lt;font color=&quot;#ff0000&quot;&gt;&lt;strong&gt;모두 바꿔 주어야 할 것&lt;/strong&gt;&lt;/font&gt;이다..... ㅋㅋㅋ&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;이런 뒌장 맞을.....&lt;br /&gt;&lt;br /&gt;이 글을 읽고 조사해보니... &lt;br /&gt;역시나, Master 녀석의 max_allowed_packet의 사이즈가 자그만치....&lt;br /&gt;128M..............&lt;br /&gt;쿠헬헬헬~~ 이 정도 되야 서버라고 부를 수 있지.... 하면서.. 역시나... 10+8 --;;&lt;br /&gt;&lt;br /&gt;결국, slave 서버의 my.cnf에서&lt;br /&gt;max_allowed_packet = 128M 로 바꿔 주고,&lt;br /&gt;아무도 모르게 슬쩍 죽였다 살리기..... -0-;;;;&lt;br /&gt;&lt;br /&gt;흐흐흐.. 사건은 종결 되었다.... 아무도 모르게....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;흠흠... 다시 한 번 말하지만, &lt;br /&gt;변경된 값을 적용하려면 MySQL을 다시 시작해야하기 때문에,&lt;br /&gt;서비스 중인 장비에겐 치명적일 수 있다는 것.....&lt;br /&gt;&lt;br /&gt;잘못하면...... 고객의 Complain에 몸져 누울 수 있다는 것!!!!&lt;br /&gt;&lt;br /&gt;잊지말고 기억해 두자.. (-0-)/&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://blackbull.tistory.com/12&quot;&gt;http://blackbull.tistory.com/12&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content>		<category term="max_allowed_packet"/><category term="packet-too-large"/>	</entry><entry>
		<title>Mysql binary log 정리, 삭제 주기 설정</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/100476"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/100476#comment"/>		<id>https://adminid.kr/mysql/100476</id>
		<published>2014-11-17T09:44:24+00:00</published>
		<updated>2014-11-18T08:42:25+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text">DB에 레코드가 많이 쌓여 테이블 파일의 용량이 증가하는 것도 문제지만, binary log를 초기 세팅대로 방치하면 금방 HDD가 꽉 차게 된다. # ll -h total 22G drwx------ 2 mysql mysql 4.0K Feb 5 10:37 acclog -rw-r----- 1 mysql mysql 112K Feb 5 19:09 localhost.localdomain.err -rw-rw---- 1 mysql mysql 5 Feb 5 19:09 localhost.localdomain.pid drwx------ 2 mysql mysql 4.0K Feb 5 10:15 mysql -rw-rw---- 1 mysql mysq...</summary>
	<content type="html">&lt;p&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Verdana;&quot;&gt;DB에 레코드가 많이 쌓여 테이블 파일의 용량이 증가하는 것도 문제지만,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Verdana;&quot;&gt;binary log를 초기 세팅대로 방치하면 금방 HDD가 꽉 차게 된다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Verdana;&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;p&gt;&lt;table width=&quot;604&quot; class=&quot;txc-table&quot; style=&quot;border: currentColor; border-image: none; font-family: 돋움; font-size: 9pt; border-collapse: collapse;&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;table width=&quot;604&quot; class=&quot;txc-table&quot; style=&quot;border: currentColor; border-image: none; font-family: 돋움; font-size: 9pt; border-collapse: collapse;&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(204, 204, 204); border-image: none; width: 604px; height: 24px; background-color: rgb(0, 0, 0);&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#333333&quot;&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;# ll -h&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;total 22G&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;drwx------ 2 mysql mysql 4.0K Feb 5 10:37&lt;/span&gt; &lt;span style=&quot;color: rgb(0, 85, 255);&quot;&gt;acclog&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-r----- 1 mysql mysql 112K Feb 5 19:09 localhost.localdomain.err&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-rw---- 1 mysql mysql 5 Feb 5 19:09 localhost.localdomain.pid&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: rgb(53, 53, 53);&quot;&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;drwx------ 2 mysql mysql 4.0K Feb 5 10:15&lt;/span&gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 85, 255);&quot;&gt;mysql&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-rw---- 1 mysql mysql 1.1G Feb 15 07:13 mysql-bin.000174&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-rw---- 1 mysql mysql 1.1G Feb 15 07:24 mysql-bin.000175&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-rw---- 1 mysql mysql 1.1G Feb 15 07:36 mysql-bin.000176&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;callbacknestwhiterussiantistorycom368220&quot; style=&quot;width: 1px; height: 1px; float: right;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-rw---- 1 mysql mysql 1.1G Feb 15 07:47 mysql-bin.000177&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-rw---- 1 mysql mysql 1.1G Feb 15 07:59 mysql-bin.000178&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-rw---- 1 mysql mysql 1.1G Feb 15 08:16 mysql-bin.000179&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-rw---- 1 mysql mysql 1.1G Feb 15 08:31 mysql-bin.000180&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-rw---- 1 mysql mysql 1.1G Feb 15 08:42 mysql-bin.000181&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-rw---- 1 mysql mysql 1.1G Feb 15 08:54 mysql-bin.000182&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-rw---- 1 mysql mysql 1.1G Feb 15 09:05 mysql-bin.000183&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-rw---- 1 mysql mysql 1.1G Feb 15 09:17 mysql-bin.000184&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-rw---- 1 mysql mysql 1.1G Feb 15 09:29 mysql-bin.000185&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-rw---- 1 mysql mysql 1.1G Feb 15 09:40 mysql-bin.000186&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-rw---- 1 mysql mysql 1.1G Feb 15 09:52 mysql-bin.000187&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-rw---- 1 mysql mysql 1.1G Feb 15 10:04 mysql-bin.000188&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-rw---- 1 mysql mysql 334M Feb 15 11:43 mysql-bin.000189&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;-rw-r----- 1 mysql mysql 418 Feb 15 10:04 mysql-bin.index&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;drwx------ 2 mysql mysql 4.0K Feb 5 10:15&lt;/span&gt; &lt;span style=&quot;color: rgb(0, 85, 255);&quot;&gt;test&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#000000&quot; face=&quot;Verdana&quot;&gt;data 디렉토리(configure에 따라 다름)&amp;nbsp;내의 파일들을 보면 binary log가 많이 생성된 것을 알 수 있다.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Verdana;&quot;&gt;파일을 rm 명령어로 직접 지우지 말고 mysql 콘솔에서 지우는 것이 바람직하다.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;table width=&quot;604&quot; class=&quot;txc-table&quot; style=&quot;border: currentColor; border-image: none; font-family: 돋움; font-size: 9pt; border-collapse: collapse;&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;p&gt;&lt;table width=&quot;604&quot; class=&quot;txc-table&quot; style=&quot;border: currentColor; border-image: none; font-family: 돋움; font-size: 9pt; border-collapse: collapse;&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(204, 204, 204); border-image: none; width: 604px; height: 24px; background-color: rgb(0, 0, 0);&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;mysql&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;show binary logs;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;+------------------+------------+&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| Log_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | File_size&amp;nbsp; |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;+------------------+------------+&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000174 | 1073742003 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000175 | 1073742050 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000176 | 1073741968 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000177 | 1073742039 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000178 | 1073741908 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000179 | 1073742024 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000180 | 1073742027 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000181 | 1073741959 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000182 | 1073741883 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000183 | 1073741988 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000184 | 1073741999 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000185 | 1073741927 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000186 | 1073742098 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000187 | 1073742018 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000188 | 1073742083 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000189 |&amp;nbsp; 349569498 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;+------------------+------------+&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;16&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;rows in set (0.00 sec)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Verdana;&quot;&gt;mysql 콘솔에서는 위 명령으로 확인 가능.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;table width=&quot;604&quot; class=&quot;txc-table&quot; style=&quot;border: currentColor; border-image: none; font-family: 돋움; font-size: 9pt; border-collapse: collapse;&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;table width=&quot;604&quot; class=&quot;txc-table&quot; style=&quot;border: currentColor; border-image: none; font-family: 돋움; font-size: 9pt; border-collapse: collapse;&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(204, 204, 204); border-image: none; width: 604px; height: 24px; background-color: rgb(0, 0, 0);&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#333333&quot;&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;mysql&amp;gt; purge master logs to &#039;mysql-bin.000186&#039;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;Query OK, 0 rows affected (0.91 sec)&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#333333&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;mysql&amp;gt; show binary logs;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;+------------------+------------+&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| Log_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | File_size&amp;nbsp; |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;+------------------+------------+&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000186 | 1073742098 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000187 | 1073742018 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000188 | 1073742083 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| mysql-bin.000189 |&amp;nbsp; 349742255 |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;+------------------+------------+&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;4 rows in set (0.00 sec)&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Verdana;&quot;&gt;위 명령어에서 binary 로그 이름을 지정하면 해당 파일 이전의 파일들을 모두 삭제한다.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;p&gt;&lt;table width=&quot;604&quot; class=&quot;txc-table&quot; style=&quot;border: currentColor; border-image: none; font-family: 돋움; font-size: 9pt; border-collapse: collapse;&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;table width=&quot;604&quot; class=&quot;txc-table&quot; style=&quot;border: currentColor; border-image: none; font-family: 돋움; font-size: 9pt; border-collapse: collapse;&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(204, 204, 204); border-image: none; width: 604px; height: 24px; background-color: rgb(0, 0, 0);&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#353535&quot;&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;mysql&amp;gt; set global expire_logs_days=2;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;Query OK, 0 rows affected (0.00 sec)&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#353535&quot;&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;&lt;br /&gt;mysql&amp;gt; SHOW VARIABLES LIKE &#039;%expire%&#039;;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;+------------------+-------+&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| Variable_name&amp;nbsp;&amp;nbsp;&amp;nbsp; | Value |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;+------------------+-------+&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;| expire_logs_days | 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;+------------------+-------+&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(166, 166, 166);&quot;&gt;1 row in set (0.00 sec)&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;&lt;/span&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Verdana;&quot;&gt;그리고 binary 로그를 저장할 주기를 설정한다.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Verdana;&quot;&gt;시스템 사고가&amp;nbsp;발생해도 근시일 내에 확인할 수 있거나&amp;nbsp;특별히 백업해 분석할 것이 아니라면 2일 정도면 충분할 것이다.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://whiterussian.tistory.com/entry/binary-log-%EC%A0%95%EB%A6%AC-%EC%82%AD%EC%A0%9C-%EC%A3%BC%EA%B8%B0-%EC%84%A4%EC%A0%95&quot;&gt;http://whiterussian.tistory.com/entry/binary-log-%EC%A0%95%EB%A6%AC-%EC%82%AD%EC%A0%9C-%EC%A3%BC%EA%B8%B0-%EC%84%A4%EC%A0%95&lt;/a&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;/p&gt; &lt;/p&gt; &lt;/p&gt; &lt;/p&gt; &lt;/p&gt; &lt;/p&gt; &lt;/p&gt; &lt;/p&gt; &lt;/p&gt; &lt;/p&gt; &lt;/p&gt; &lt;/p&gt; &lt;/p&gt; &lt;/p&gt;</content>		<category term="Mysql"/><category term="binary"/><category term="log"/><category term="정리"/><category term="삭제"/><category term="주기"/><category term="설정"/>	</entry><entry>
		<title>MySQL 로그 파일 관리 2 - 로그 파일 남기기</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/100463"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/100463#comment"/>		<id>https://adminid.kr/mysql/100463</id>
		<published>2014-11-17T09:41:39+00:00</published>
		<updated>2014-11-17T09:41:39+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text">MySQL 로그파일 유닉스에서의 에러 로그 : &#039;hostname&#039;.err shell&gt;find / -name &#039;hostname&#039;.err 윈도우에서의 에러 로그 : /mysql/data/mysql.err 리눅스에서 my.cnf파일 만들기 : my-huge.cnf 나 my-medium.cnf 파일을 찾아서 /etc/ 아래에 복사 shell&gt;cp my-medium.cnf /etc/my.cnf 윈도우에서 my.ini 파일 만들기 : /mysql/ 디렉토리 아래에 보면 my-small, my-medium, my-large, my-huge 파일이 존재하는데 이중 1개를 my.ini로 ...</summary>
	<content type="html">&lt;p&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;MySQL 로그파일&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;유닉스에서의 에러 로그 : &#039;hostname&#039;.err&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;shell&amp;gt;find / -name &#039;hostname&#039;.err&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;윈도우에서의 에러 로그 : /mysql/data/mysql.err&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;리눅스에서 my.cnf파일 만들기 : my-huge.cnf 나 my-medium.cnf 파일을 찾아서&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;/etc/ 아래에 복사&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;shell&amp;gt;cp my-medium.cnf /etc/my.cnf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;윈도우에서 my.ini 파일 만들기 : /mysql/ 디렉토리 아래에 보면 my-small, my-medium, my-large, my-huge&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;파일이 존재하는데 이중 1개를 my.ini로 이름을 바꿔서 c:\winnt&amp;nbsp;아래에 복사.&lt;/span&gt;&lt;br /&gt;* windows7에선&amp;nbsp;C:\ProgramData\MySQL\MySQL Server 5.5\my.ini에 있음&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;리눅스 my.cnf 파일에 쿼리 로그 사용하게 하기 ([mysqld] 섹션 아래에 설정)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;[mysqld]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;# MyISAM 로그&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;log-isam=/usr/local/mysql/data/myisamlog.log&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;# 쿼리 로그&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;log=/usr/local/mysql/data/mysql.log&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;# 수정 로그&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;log-update=/usr/local/mysql/data/mysql-update.log&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;# 바이너리 로그&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;log-bin=/usr/local/mysql/data/mysql-bins.log&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;# 슬로우 쿼리 로그&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;log-slow-queries=/usr/local/mysql/data/mysql-slow.log&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;long_query_time=5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;윈도우 my.ini 파일에 쿼리 로그 사용하게 하기 ([mysqld] 섹션 아래에 설정)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;[mysqld]&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;# MyISAM 로그&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;log-isam&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;# 쿼리 로그&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;log=c:/mysql/data/mysql.log&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;# 수정 로그&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;log-update=c:/mysql/data/mysql-update.log&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;# 바이너리 로그&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;log-bin=c:/mysql/data/mysql-bins.log&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;# 슬로우 쿼리 로그&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;log-slow-queries=c:/mysql/data/mysql-slow.log&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;long_query_time=5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(102, 102, 102); line-height: 16px; font-family: dotum;&quot;&gt;*수정후 mysql 데몬 재실행.&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#666666&quot; face=&quot;dotum&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#666666&quot; face=&quot;dotum&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;출처 -&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;a href=&quot;http://cafe.naver.com/friendvirus.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=27&quot;&gt;http://cafe.naver.com/friendvirus.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=27&lt;/a&gt;&lt;/p&gt; &lt;p&gt;===================================================================================&lt;/p&gt; &lt;p&gt;PHP를 이용하여 웹 어플리케이션을 작성 할 때 난감한 이슈 중의 하나는 Database query를 찍어보는 것이다.&lt;br /&gt;&lt;br /&gt;echo나 print로 로그를 찍게 되면, 화면에 직접 출력되기 때문에 만약 운영중인 웹 어플리케이션이라면 화면 가득 쏟아져 나온 쿼리를 보게 될 것이다.&lt;br /&gt;&lt;br /&gt;syslog를 이용하여 쿼리를 시스템 로그 파일에 기록하는 방법도 있겠지만(&lt;a href=&quot;http://toriworks.tistory.com/entry/MySql-%EC%BF%BC%EB%A6%AC-%EB%94%94%EB%B2%84%EA%B9%85%EC%9D%84-%EC%9C%84%ED%95%9C-%EB%B0%A9%EB%B2%95-syslog&quot;&gt;MySql 쿼리 디버깅을 위한 방법 - syslog&lt;/a&gt;&amp;nbsp;참고), 보다 근본적으로 해결하는 방법이 있다면 그 방법을 써야겠다.&lt;br /&gt;&lt;span id=&quot;callbacknesttoriworkstistorycom437802&quot; style=&quot;width: 1px; height: 1px; float: right;&quot;&gt;&lt;a title=&quot;&lt;EMBED&gt;, shockwave-flash@http://toriworks.tistory.com/plugin/CallBack_bootstrapperSrc?nil_profile=tistory&amp;amp;nil_type=copied_post#!flashvars#&amp;amp;callbackId=toriworkstistorycom437802&amp;amp;host=http://toriworks.tistory.com&amp;amp;embedCodeSrc=http%253A%252F%252Ftoriworks.tistory.com%252Fplugin%252FCallBack_bootstrapper%253F%2526src%253Dhttp%253A%252F%252Fs1.daumcdn.net%252Fcfs.tistory%252Fv%252F0%252Fblog%252Fplugins%252FCallBack%252Fcallback%2526id%253D43%2526callbackId%253Dtoriworkstistorycom437802%2526destDocId%253Dcallbacknesttoriworkstistorycom437802%2526host%253Dhttp%253A%252F%252Ftoriworks.tistory.com%2526float%253Dleft&quot; class=&quot;__noscriptPlaceholder__ __noscriptObjectPatchMe__&quot; id=&quot;bootstrappertoriworkstistorycom437802&quot; style=&quot;width: 1px; height: 1px; overflow: visible; min-height: 32px; min-width: 32px;&quot; href=&quot;http://toriworks.tistory.com/plugin/CallBack_bootstrapperSrc?nil_profile=tistory&amp;amp;nil_type=copied_post#%21flashvars#&amp;amp;callbackId=toriworkstistorycom437802&amp;amp;host=http://toriworks.tistory.com&amp;amp;embedCodeSrc=http%253A%252F%252Ftoriworks.tistory.com%252Fplugin%252FCallBack_bootstrapper%253F%2526src%253Dhttp%253A%252F%252Fs1.daumcdn.net%252Fcfs.tistory%252Fv%252F0%252Fblog%252Fplugins%252FCallBack%252Fcallback%2526id%253D43%2526callbackId%253Dtoriworkstistorycom437802%2526destDocId%253Dcallbacknesttoriworkstistorycom437802%2526host%253Dhttp%253A%252F%252Ftoriworks.tistory.com%2526float%253Dleft&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;div class=&quot;__noscriptPlaceholder__1&quot; style=&quot;background-position: 0% 0%; margin: 0px; padding: 0px; outline: rgb(0, 0, 0) 0px; border-radius: 0px; border: 0px rgb(113, 113, 113); border-image: none; left: auto; top: auto; width: 1px; height: 1px; right: auto; bottom: auto; color: rgb(113, 113, 113); clear: none; font-family: dotum, sans-serif; vertical-align: baseline; float: none; display: inline; page-break-before: auto; page-break-after: auto; visibility: visible; filter: none; border-collapse: separate; position: static; z-index: auto; clip: auto; table-layout: auto; cursor: auto; unicode-bidi: normal; direction: ltr; -ms-overflow-x: visible; -ms-overflow-y: visible; -ms-word-wrap: break-word; -ms-text-overflow: clip; min-height: 32px; max-height: none; min-width: 32px; max-width: none; content: none; caption-side: top; counter-increment: none; counter-reset: none; empty-cells: show; dominant-baseline: auto; opacity: 1; clip-path: none; clip-rule: nonzero; fill: #000000; fill-opacity: 1; fill-rule: nonzero; marker-end: none; marker-mid: none; marker-start: none; mask: none; pointer-events: auto; stop-color: rgb(0, 0, 0); stop-opacity: 1; stroke: none; stroke-dasharray: none; stroke-dashoffset: 0px; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-opacity: 1; stroke-width: 1px; text-anchor: start; box-shadow: none; flood-color: rgb(0, 0, 0); flood-opacity: 1; color-interpolation-filters: linearRGB; lighting-color: rgb(255, 255, 255); text-shadow: none; background-image: none; background-attachment: scroll; background-repeat: repeat repeat; background-color: transparent; text-rendering: auto; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; outline-offset: 0px; resize: none; color-interpolation: srgb; image-rendering: auto; shape-rendering: auto;&quot;&gt;&lt;div class=&quot;__noscriptPlaceholder__2&quot; style=&#039;background-position: right bottom; background-image: url(&quot;resource://noscript_0.18383518013448907/flash16.png&quot;);&#039;&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;padding: 10px; background-color: rgb(228, 228, 228);&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#008000&quot;&gt;MySql 로그 설정으로 보다 다양하게 찍기&lt;br /&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;MySql을 설치하면 일반적으로 로그에 대한 설정은 따로 해주지 않는다. 이 때문에 로그를 syslog로 찍어야 하는 방법 밖에 없는, 또는 echo 정도로 로그를 찍어주는 것만 하고 있을지도 모른다.&lt;br /&gt;&lt;br /&gt;MySql 설치시에 로그에 대한 설정을 자동으로 해준다면, 더할나위 없겠지만 아쉽게도 수동으로 주석을 풀어줘야 한다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;padding: 10px; background-color: rgb(208, 255, 157);&quot;&gt;(순서)&lt;br /&gt;1. /etc/my.cnf 파일을 연다.&lt;br /&gt;2. 로그와 관련된 설정을 심어준다.&lt;br /&gt;3. 저장 후에 MySql을 재시동 한다.&lt;/div&gt;&lt;p&gt;&lt;br /&gt;3번 항목 재시동이라는 부분이 마음에 걸리지만, 그래도 한번 적용으로 두고두고 득(得)이 된다.&lt;br /&gt;설정법은 아래와 같다.&lt;br /&gt;&lt;br /&gt;# 바이너리 로그 설정 &lt;br /&gt;&amp;nbsp; &amp;nbsp; log-bin = bin_logs&lt;br /&gt;# 쿼리 로그 설정&lt;br /&gt;&amp;nbsp; &amp;nbsp; log = query_logs&lt;br /&gt;# 에러 로그 설정&lt;br /&gt;&amp;nbsp; &amp;nbsp; log-error = err_logs&lt;br /&gt;# 느린 쿼리(slow query) 설정&lt;br /&gt;&amp;nbsp; &amp;nbsp; log-slow-queries = slow_logs&lt;br /&gt;# Update 쿼리 설정&lt;br /&gt;&amp;nbsp; &amp;nbsp; log-update = update_logs&lt;br /&gt;&lt;br /&gt;5가지의 로그 설정을 해 주면, 각 상황에 맞게 &lt;font style=&quot;background-color: rgb(228, 228, 228);&quot;&gt;tail -f 파일명&lt;/font&gt; 을 이용하여 콘솔로 찍기만 하면 된다.&lt;br /&gt;위에 설정에서 bin_logs, query_logs, err_logs, slow_logs, update_logs는 임의로 지정한 명칭이다. 상황에 맞게 적어주면 된다.&lt;br /&gt;&lt;br /&gt;이렇게 지정된 로그의 위치는 &lt;strong&gt;&lt;font style=&quot;background-color: rgb(228, 228, 228);&quot;&gt;mysql/data&lt;/font&gt;&lt;/strong&gt; 폴더 안에 생성된다.&lt;br /&gt;이 위치에서 보면 위에서 설정한 이름으로 파일들이 생성되었음을 확인 할 수 있다.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 -&amp;nbsp;&lt;a href=&quot;http://toriworks.tistory.com/entry/MySql-%EC%BF%BC%EB%A6%AC-%EB%94%94%EB%B2%84%EA%B9%85%EC%9D%84-%EC%9C%84%ED%95%9C-%EB%B0%A9%EB%B2%95-MySql-%EB%A1%9C%EA%B7%B8&quot;&gt;http://toriworks.tistory.com/entry/MySql-%EC%BF%BC%EB%A6%AC-%EB%94%94%EB%B2%84%EA%B9%85%EC%9D%84-%EC%9C%84%ED%95%9C-%EB%B0%A9%EB%B2%95-MySql-%EB%A1%9C%EA%B7%B8&lt;/a&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://linuxism.tistory.com/585&quot;&gt;http://linuxism.tistory.com/585&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content>		<category term="MySQL"/><category term="로그"/><category term="파일"/><category term="관리"/><category term="2"/><category term="남기기"/>	</entry><entry>
		<title>MySQL 로그 파일 관리 1 - 설정</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/100457"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/100457#comment"/>		<id>https://adminid.kr/mysql/100457</id>
		<published>2014-11-17T09:40:42+00:00</published>
		<updated>2014-11-17T09:42:41+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text">======================================================= MySQL 로그 파일 관리 ======================================================= Mysql 의 로그 파일은 다음과 같이 크게 3종류가 있습니다. 1. 에러로그 2. 일반적인 로그 3. UPDATE 로그 첫번째 에러 로그는 hostname.err 의 이름으로 서버 실행시 에러를 기록하는 파일입 니다. 두번째 로그파일은 mysql 에 접근하는 사용자와 그들이 파일과 관련된 쿼리를 실행할 경...</summary>
	<content type="html">&lt;p&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;=======================================================&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;&amp;nbsp;&amp;nbsp; MySQL 로그 파일 관리&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;=======================================================&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;Mysql 의 로그 파일은 다음과 같이 크게 3종류가 있습니다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;1. 에러로그&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;2. 일반적인 로그&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;3. UPDATE 로그&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;첫번째 에러 로그는 hostname.err 의 이름으로 서버 실행시 에러를 기록하는 파일입&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;니다. 두번째 로그파일은 mysql 에 접근하는 사용자와 그들이 파일과 관련된 쿼리를&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;실행할 경우에 기록되는 로그 파일로 /usr/local/mysql/var 밑에 host_name.log 으로&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;저장이 되어집니다. Mysql 데이터에 파일을 기록하므로 파일과 관련된 쿼리는 DB 생&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;성/삭제 , 테이블 생성/삭제 , 레크드 삽입/갱신 이 있습니다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;이 로그 파일은 Mysql 실행시 --log 옵션을 주어 활성화 시키면 된다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;# /usr/local/mysql/bin/safe_mysqld --log &amp;amp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;업데이터로그는 테이블이 변경될때마다 해당 쿼리가 기록 됩니다. 기본적으로 활성&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;화 되지 않고 Mysql 실행시 --log-update 옵션으로 가능하다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;# /usr/local/mysql/bin/safe_mysql --log-update &amp;amp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;업데이터 로그는 /usr/local/mysql/var 밑에 host_name.00X 식으로 서버가 다시&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;실행되거나 mysqladmin reflesh 혹은 mysqladmin flush-logs 명령을 내릴때마다&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;뒤의 번호가 1씩 증가 한다. 혹은 --log-update=mysql.log 와 같이 로그파일명을&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;정해줄수도 있다.&amp;nbsp;&amp;nbsp;Update 로그는 update 쿼리만 저장하거 같지만 ..&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;delete , create 등의 쿼리도 모두 저장한다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;mysql 의 사용량이 많은 사이트는 이런 로그파일이 쌓이므로 해서 디스크 용량에&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;문제가 생길수 있다. 관리자는 수시로 점검하여 삭제를 해어야 한다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;로그 파일을 관리하는 방법으로는 두가지가 있다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;먼저 /usr/local/mysql/share/mysql/mysql-log-rotate 파일을 이용하는 방법과&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;간단한 스크립트를 작성하여 cron 에 등록한뒤 관리하는 방법이 있다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;/usr/local/mysql/share/mysql/mysql-log-rotate 파일을 이용하는 방법은 ..&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;--log-update=mysqld.log 와 같이 로그파일을 정해서 관리할때 이용하면 된다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;# vi /usr/local/mysql/share/mysql/mysql-log-rotate&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;-------------------------------------------------------------------------&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;----&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;# This logname is set in mysql.server.sh that ends up in /etc/rc.d/init.d/mysql&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;#&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;# If the root user has a password you have to create a&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;# /root/.my.cnf configuration file with the following&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;# content:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;#&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;# [mysqladmin]&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;# password = &amp;lt;secret&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;# user= root&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;#&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;# where &quot;&amp;lt;secret&amp;gt;&quot; is the password.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;#&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;# ATTENTION: This /root/.my.cnf should be readable ONLY&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;# for root !&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;/usr/local/mysql/var/mysqld.log {&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;# create 600 mysql mysql&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;notifempty&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;daily&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rotate 3&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;missingok&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;compress&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;postrotate&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;# just if mysqld is really running&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if test -n &quot;`ps acx|grep mysqld`&quot;; then&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/usr/local/mysql/bin/mysqladmin flush-logs&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fi&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;endscript&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;}&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;-------------------------------------------------------------------------&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;--&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;위의 파일을 /etc/logrotate.d 디렉토리에 복사만 하면 알아서 로테이트 하게 된다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;단..로그파일을 교체한후 mysqladmin flush-logs 를 적용하므로 root 홈디렉토리에&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;.my.cnf 파일을 만든후 MySQL 의 root 사용자의 암호와 사용자 명을 적어주어야 한&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;vi /root/.my.cnf&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;--------------------------------------&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;[mysqladmin]&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;password = xxxxxxxxx&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;user = root&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;--------------------------------------&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;정상적인 로그 교체의 확인은 다음과 같이 하면 된다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;# logrotate -f mysql-log-rotate&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;이밖에 --log-update 등의 옵션을 이용하면 수시로 로그파일의 뒤에 001,002 씩으로&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;번호가 증가 되면서 저장이 되므로 별도의 스크립트를 작성하여 관리해야 한다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;이는 각자 머리를 잘 짜면 될거 같다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;#!/bin/sh&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;find /usr/local/mysql/var -name &quot;*.[0-9]*&quot; -type f -mtime +3 -exec rm -f {} \\;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;/usr/local/mysql/bin/mysqladmin flush-logs&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;위와 같은 만들면 된다. 이는 &quot;3일 지난 파일은 지워라&quot; 로 cron 에 등록한뒤 적절한&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 16px; font-family: NanumGothic; font-size: 11px;&quot;&gt;시간마다 실행해주면 된다.&amp;nbsp;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&lt;font face=&quot;NanumGothic&quot;&gt;&lt;span style=&quot;line-height: 16px; font-size: 11px;&quot;&gt;출처 -&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;a href=&quot;http://blog.syszone.co.kr/707&quot;&gt;http://blog.syszone.co.kr/707&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;span id=&quot;callbacknestlinuxismtistorycom5183756&quot; style=&quot;width: 1px; height: 1px; float: right;&quot;&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;==================================================================================&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class=&quot;titlepage&quot; style=&quot;color: rgb(0, 0, 0); line-height: normal; font-family: Gulim; font-size: 12pt;&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;h2 class=&quot;title&quot; style=&quot;clear: both;&quot;&gt;4.10. MySQL 로그 파일&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;a name=&quot;id503301&quot; style=&quot;color: rgb(0, 0, 0); line-height: normal; font-family: Gulim; font-size: 12pt;&quot;&gt;&lt;/a&gt;&lt;p style=&quot;color: rgb(0, 0, 0); line-height: normal; font-family: Gulim; font-size: 12pt;&quot;&gt;MySQL 에는 몇개의 종류의 로그 파일이 있어,&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;안에서 무엇이 발생하고 있을까 조사할 수 있습니다.&lt;/p&gt; &lt;div class=&quot;informaltable&quot; style=&quot;color: rgb(0, 0, 0); line-height: normal; font-family: Gulim; font-size: 12pt;&quot;&gt;&lt;table border=&quot;1&quot;&gt;&lt;colgroup&gt;&lt;col /&gt;&lt;col /&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span class=&quot;bold&quot;&gt;&lt;strong&gt;로그 파일&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class=&quot;bold&quot;&gt;&lt;strong&gt;설명&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;에러 로그&lt;/td&gt;&lt;td&gt;&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;의 기동, 실행, 및 정?~ 그리고 발생한 문제.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;isam 로그&lt;/td&gt;&lt;td&gt;ISAM 테이블에의 변경이 모두 기록.isam 코드의 디버그에만 사용.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;일반 쿼리 로그&lt;/td&gt;&lt;td&gt;접속의 정보와 실행된 쿼리.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;갱신 로그&lt;/td&gt;&lt;td&gt;폐?~ .데이터를 변경한 모든 스테이트먼트를 보존.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;바이너리 로그&lt;/td&gt;&lt;td&gt;무엇인가를 변경한 모든 스테이트먼트를 보존.replication에도 사용.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;슬로우 로그&lt;/td&gt;&lt;td&gt;&lt;code class=&quot;literal&quot;&gt;long_query_time&lt;/code&gt;&amp;nbsp;초부터 시간이 걸린 쿼리, 또는 인덱스를 사용하지 않았던 쿼리를 모두 보존.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style=&quot;color: rgb(0, 0, 0); line-height: normal; font-family: Gulim; font-size: 12pt;&quot;&gt;로그는 모두,&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;데이터 디렉토리에 있습니다.&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;그리고 로그 파일을 재차 열려면(혹은 새로운 로그로 전환한다) ,&lt;code class=&quot;literal&quot;&gt;FLUSH LOGS&lt;/code&gt;&amp;nbsp;(을)를 실행합니다. See&amp;nbsp;&lt;a title=&quot;4.6.4. FLUSH&amp;#10;구문&quot; href=&quot;http://itcenter.happyrising.com/core/MySQL_4.1_Korean/MySQL_4.1_Korean/ch04s06.html#flush&quot;&gt;항4.6.4. 「&lt;code class=&quot;literal&quot;&gt;FLUSH&lt;/code&gt;&amp;nbsp;구문」&lt;/a&gt;&amp;nbsp;.&lt;/p&gt; &lt;div class=&quot;section&quot; lang=&quot;ja&quot; style=&quot;color: rgb(0, 0, 0); line-height: normal; font-family: Gulim; font-size: 12pt;&quot;&gt;&lt;div class=&quot;titlepage&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class=&quot;title&quot;&gt;&lt;a name=&quot;error-log&quot;&gt;&lt;/a&gt;4.10.1. 에러 로그&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;에러 로그 파일에는,&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;의 기동 시각과 정?~ 시각, 및 실행중에 발생한 에러에 관한 정보가 기록됩니다.&lt;/p&gt; &lt;p&gt;&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;하지만 이상종료(ABEND) 해&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;mysqld_safe&lt;/code&gt;&amp;nbsp;하지만&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;(을)를 재기동할 필요가 있는 경우,&lt;code class=&quot;literal&quot;&gt;mysqld_safe&lt;/code&gt;&amp;nbsp;(은)는 이 파일에&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;restarted mysqld&lt;/code&gt;&amp;nbsp;행을 씁니다.자동 체크 또는 자동 수복이 필요한 테이블을&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;하지만 찾아냈을 경우, 경고도 기록됩니다.&lt;/p&gt; &lt;p&gt;일부의 operating system에서는,&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;하지만 이상종료(ABEND) 한 개소의 스택 트레이스가 에러 로그에 기록됩니다.이것을 사용하면,&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;하지만 어느 시점에서 이상종료(ABEND) 했는지 압니다. See&amp;nbsp;&lt;a title=&quot;E.1.4.&amp;#10;스택 트레이스의 사용&quot; href=&quot;http://itcenter.happyrising.com/core/MySQL_4.1_Korean/MySQL_4.1_Korean/ape.html#using-stack-trace&quot;&gt;항E.1.4. 「스택 트레이스의 사용」&lt;/a&gt;&amp;nbsp;.&lt;/p&gt; &lt;p&gt;MySQL 4.0.10 이?~ ,&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;하지만 에러 로그 파일을 보존하는 장소를&amp;nbsp;&lt;code class=&quot;option&quot;&gt;--log-error[=filename]&lt;/code&gt;&amp;nbsp;옵션으로 지정할 수 있게 되어 있습니다.파일명을 지정하지 않으면,&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;하 Unix 그럼&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;mysql-data-dir/&#039;hostname&#039;.err&lt;/code&gt;&amp;nbsp;(을)를,Windows 그럼&amp;nbsp;&lt;code class=&quot;filename&quot;&gt;\mysql\data\mysql.err&lt;/code&gt;&amp;nbsp;(을)를 사용합니다.&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;flush logs&lt;/code&gt;&amp;nbsp;(을)를 실행하면, 낡은 파일에는&amp;nbsp;&lt;code class=&quot;option&quot;&gt;--old&lt;/code&gt;&amp;nbsp;의 프리픽스가 붙어,&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;하지만 하늘의 신규 로그 파일을 작성합니다.&lt;/p&gt; &lt;p&gt;구 MySQL 버젼에서는, 에러 로그 처리는&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;mysqld_safe&lt;/code&gt;&amp;nbsp;에 의해서 행해져 에러 파일은&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;&#039;hostname&#039;.err&lt;/code&gt;&amp;nbsp;에 리디렉트 됩니다.이 파일명은,&lt;code class=&quot;option&quot;&gt;--err-log=filename&lt;/code&gt;&amp;nbsp;옵션으로 변경할 수 있습니다.&lt;/p&gt; &lt;p&gt;&lt;code class=&quot;option&quot;&gt;--log-error&lt;/code&gt;&amp;nbsp;(을)를 지정하지 않는 경우, 또는&amp;nbsp;&lt;code class=&quot;option&quot;&gt;--console&lt;/code&gt;&amp;nbsp;옵션을 사용했을 경우에는, 에러는 stderr (단말)에 써집니다.&lt;/p&gt; &lt;p&gt;Windows 그럼,&lt;code class=&quot;option&quot;&gt;--console&lt;/code&gt;&amp;nbsp;(을)를 지정하지 않으면, 출력은 항상&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;.err&lt;/code&gt;&amp;nbsp;파일에 써집니다.&lt;/p&gt; &lt;/div&gt;&lt;div class=&quot;section&quot; lang=&quot;ja&quot; style=&quot;color: rgb(0, 0, 0); line-height: normal; font-family: Gulim; font-size: 12pt;&quot;&gt;&lt;div class=&quot;titlepage&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class=&quot;title&quot;&gt;&lt;a name=&quot;query-log&quot;&gt;&lt;/a&gt;4.10.2. 일반 쿼리 로그&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;a name=&quot;id503758&quot;&gt;&lt;/a&gt;&lt;a name=&quot;id503768&quot;&gt;&lt;/a&gt;&lt;p&gt;&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;안에서 무엇이 발생하고 있을까 확인하고 싶은 경우에는,&lt;code class=&quot;option&quot;&gt;--log[=file]&lt;/code&gt;&amp;nbsp;옵션을 사용해 mysqld (을)를 기동합니다.이것에 의해, 모든 접속과 쿼리가 로그 파일(디폴트는&amp;nbsp;&lt;code class=&quot;filename&quot;&gt;&#039;hostname&#039;.log&lt;/code&gt;&amp;nbsp;)에 기록됩니다.이 로그는, 클라이언트 측에 에러의 원인이 있다고 생각할 수 있어&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;에 대해서 클라이언트가 무엇을 송신했는지 조사할 때 매우 도움이 됩니다.&lt;/p&gt; &lt;p&gt;낡은 버젼(MySQL 3.23.4 (으)로부터 3.23.8 )의&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;mysql.server&lt;/code&gt;&amp;nbsp;스크립트는,&lt;code class=&quot;literal&quot;&gt;safe_mysqld&lt;/code&gt;&amp;nbsp;에, 일반 쿼리 로그를 유효화한다&amp;nbsp;&lt;code class=&quot;option&quot;&gt;--log&lt;/code&gt;&amp;nbsp;옵션을 건네줍니다.실가동 환경에서 MySQL 의 기동시의 퍼포먼스를 향상시킬 필요가 있는 경우에는,&lt;code class=&quot;option&quot;&gt;--log&lt;/code&gt;&amp;nbsp;옵션을&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;mysql.server&lt;/code&gt;&amp;nbsp;(으)로부터 삭제하는지,&lt;code class=&quot;option&quot;&gt;--log-bin&lt;/code&gt;&amp;nbsp;(으)로 변경합니다. See&amp;nbsp;&lt;a title=&quot;4.10.4.&amp;#10;바이너리 로그&quot; href=&quot;http://itcenter.happyrising.com/core/MySQL_4.1_Korean/MySQL_4.1_Korean/ch04s10.html#binary-log&quot;&gt;항4.10.4. 「바이너리 로그」&lt;/a&gt;&amp;nbsp;.&lt;/p&gt; &lt;p&gt;이 로그의 엔트리는,&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;하지만 쿼리를 받은 시점에서 써집니다.이것은, 스테이트먼트가 실행된 순서와는 다른 경우가 있습니다.또, 갱신 로그 및 바이너리 로그와도 대비적입니다.갱신 로그 및 바이너리 로그는, 쿼리가 실행된 후, 락이 해제되기 전에 써집니다.&lt;/p&gt; &lt;/div&gt;&lt;div class=&quot;section&quot; lang=&quot;ja&quot; style=&quot;color: rgb(0, 0, 0); line-height: normal; font-family: Gulim; font-size: 12pt;&quot;&gt;&lt;div class=&quot;titlepage&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class=&quot;title&quot;&gt;&lt;a name=&quot;update-log&quot;&gt;&lt;/a&gt;4.10.3. 갱신 로그&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;a name=&quot;id503914&quot;&gt;&lt;/a&gt;&lt;a name=&quot;id503924&quot;&gt;&lt;/a&gt;&lt;p&gt;&lt;span class=&quot;bold&quot;&gt;&lt;strong&gt;주의&lt;/strong&gt;&lt;/span&gt;: 갱신 로그는 폐?~ 되어 대신에 바이너리 로그가 사용됩니다.See&amp;nbsp;&lt;a title=&quot;4.10.4.&amp;#10;바이너리 로그&quot; href=&quot;http://itcenter.happyrising.com/core/MySQL_4.1_Korean/MySQL_4.1_Korean/ch04s10.html#binary-log&quot;&gt;항4.10.4. 「바이너리 로그」&lt;/a&gt;&amp;nbsp;. 바이너리 로그는, 이전의 갱신 로그의 기능을 모두 갖추어 더해 다른 기능도 추가되고 있습니다.&lt;span class=&quot;bold&quot;&gt;&lt;strong&gt;MySQL 5.0 그리고 갱신 로그는 없어집니다&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;.&lt;/p&gt; &lt;p&gt;&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;(을)를&amp;nbsp;&lt;code class=&quot;option&quot;&gt;--log-update[=file_name]&lt;/code&gt;&amp;nbsp;옵션으로 기동하면, 데이터를 갱신하는 모든 SQL 커멘드가 로그 파일에 기록됩니다.파일명을 지정하지 않으면, 호스트 머신의 이름이 디폴트명이 됩니다.파일명을 지정해, 패스를 지정하지 않는 경우, 파일은 데이터 디렉토리에 작성됩니다.&lt;code class=&quot;filename&quot;&gt;file_name&lt;/code&gt;&amp;nbsp;에 확장자(extension)가 없는 경우,&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;하&lt;code class=&quot;filename&quot;&gt;file_name.###&lt;/code&gt;&amp;nbsp;의 형식에서 로그 파일명을 생성합니다.여기서&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;###&lt;/code&gt;&amp;nbsp;(은)는,&lt;code class=&quot;literal&quot;&gt;mysqladmin refresh&lt;/code&gt;&amp;nbsp;,&lt;code class=&quot;literal&quot;&gt;mysqladmin flush-logs&lt;/code&gt;&amp;nbsp;, 및&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;FLUSH LOGS&lt;/code&gt;&amp;nbsp;스테이트먼트가 실행될 때마다, 및 서버가 재기동할 때마다 인크리먼트(increment) 되는 번호입니다.&lt;/p&gt; &lt;p&gt;&lt;span class=&quot;bold&quot;&gt;&lt;strong&gt;주의&lt;/strong&gt;&lt;/span&gt;: 상기 스킴이 유효하기 때문에 , 갱신 로그가 사용하는 디렉토리내에서는, 갱신 로그 + 어떠한 확장자(extension) 등, 번호라고 오인되는 파일명의 파일을 작성 해서는 안됩니다.&lt;/p&gt; &lt;p&gt;&lt;code class=&quot;option&quot;&gt;--log&lt;/code&gt;&amp;nbsp;옵션 또는&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;-l&lt;/code&gt;&amp;nbsp;옵션을 사용했을 경우,&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;하&amp;nbsp;&lt;code class=&quot;filename&quot;&gt;hostname.log&lt;/code&gt;&amp;nbsp;(이)라는 이름의 일반 로그 파일을 작성합니다.재기동이나 리프레쉬를 실시해도 신규 로그 파일은 생성되지 않습니다(일단 닫고, 재차 열 뿐입니다).이 경우, 이하와 같이 해(Unix 상) 로그 파일을 카피할 수 있습니다.&lt;/p&gt; &lt;pre class=&quot;programlisting&quot;&gt;mv hostname.log hostname-old.log mysqladmin flush-logs cp hostname-old.log to-backup-directory rm hostname-old.log &lt;/pre&gt;&lt;p&gt;갱신 로그는, 데이터를 실제로 갱신한 스테이트먼트만을 기록합니다.&lt;code class=&quot;literal&quot;&gt;UPDATE&lt;/code&gt;&amp;nbsp;또는&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;DELETE&lt;/code&gt;&amp;nbsp;의&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;WHERE&lt;/code&gt;&amp;nbsp;지정으로 레코드가 발견되지 않았던 경우, 그 스테이트먼트는 로그에 써지지 않습니다.컬럼의 값을, 벌써 있는 같은 값으로 갱신했다&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;UPDATE&lt;/code&gt;&amp;nbsp;스테이트먼트도 스킵 됩니다.&lt;/p&gt; &lt;p&gt;갱신 로그의 기입은, 쿼리가 완료한 직후에 락의 해제전에, 또는 코?~ 트의 전에 행해집니다.이 때문에, 로그는 실행 순서대로 써집니다.&lt;/p&gt; &lt;p&gt;갱신 로그 파일로부터 데이타베이스를 갱신하려면 , 이하를 실행합니다.여기에서는, 갱신 로그명의 형식을&amp;nbsp;&lt;code class=&quot;filename&quot;&gt;file_name.###&lt;/code&gt;&amp;nbsp;(와)과 가정하고 있습니다.&lt;/p&gt; &lt;pre class=&quot;programlisting&quot;&gt;shell&amp;gt; &lt;strong class=&quot;userinput&quot;&gt;&lt;code&gt;ls -1 -t -r file_name.[0-9]* | xargs cat | mysql&lt;/code&gt;&lt;/strong&gt; &lt;/pre&gt;&lt;p&gt;&lt;code class=&quot;literal&quot;&gt;ls&lt;/code&gt;&amp;nbsp;(은)는, 모든 로그 파일을 올바른 순서로 취득하기 위해서 사용합니다.&lt;/p&gt; &lt;p&gt;이것은, 크래쉬 후에 백업파일 상태에까지 되돌린다, 혹은 백업 후부터 크래쉬까지의 사이의 갱신을 반복하는 경우 등에 도움이 됩니다.&lt;/p&gt; &lt;/div&gt;&lt;div class=&quot;section&quot; lang=&quot;ja&quot; style=&quot;color: rgb(0, 0, 0); line-height: normal; font-family: Gulim; font-size: 12pt;&quot;&gt;&lt;div class=&quot;titlepage&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class=&quot;title&quot;&gt;&lt;a name=&quot;binary-log&quot;&gt;&lt;/a&gt;4.10.4. 바이너리 로그&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;a name=&quot;id504249&quot;&gt;&lt;/a&gt;&lt;a name=&quot;id504259&quot;&gt;&lt;/a&gt;&lt;p&gt;바이너리 로그는, 이전의 갱신 로그 대신에 되는 것입니다.갱신 로그는 MySQL 5.0 (이)가 아니게 됩니다.바이너리 로그에는, 갱신 로그로 이용 가능했던 정보가 모두, 보다 효율적 한편 트랜잭션(transaction) 세이프인 방법으로 포함됩니다.&lt;/p&gt; &lt;p&gt;바이너리 로그는 이전의 갱신 로그와 같이, 데이터를 실제로 갱신하는 스테이트먼트만을 기록합니다.&lt;code class=&quot;literal&quot;&gt;UPDATE&lt;/code&gt;&amp;nbsp;또는&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;DELETE&lt;/code&gt;&amp;nbsp;의&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;WHERE&lt;/code&gt;&amp;nbsp;지정으로 레코드가 발견되지 않았던 경우, 그 스테이트먼트는 로그에 써지지 않습니다.컬럼의 값을, 벌써 있는 같은 값으로 갱신했다&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;UPDATE&lt;/code&gt;&amp;nbsp;스테이트먼트도 스킵 됩니다.&lt;/p&gt; &lt;p&gt;바이너리 로그에는, 백업 후의 갱신이 모두 기록됩니다.바이너리 로그의 주된 목적은, restore시에, 데이타베이스에 대해서 가능한 한 백업 후의 갱신을 실행할 수 있도록 하는 것입니다.&lt;/p&gt; &lt;p&gt;바이너리 로그는, 마스터로부터 슬레이브에 replication를 실시할 때도 사용합니다. See&amp;nbsp;&lt;a title=&quot;4.11. MySQL&amp;#10;의 replication&quot; href=&quot;http://itcenter.happyrising.com/core/MySQL_4.1_Korean/MySQL_4.1_Korean/ch04s11.html&quot;&gt;항4.11. 「MySQL 의 replication」&lt;/a&gt;&amp;nbsp;.&lt;/p&gt; &lt;p&gt;바이너리 로그에는, 데이타베이스를 갱신한 각 쿼리에 걸린 시간의 정보도 포함됩니다.데이터를 변경하지 않았던 쿼리는 포함되지 않습니다.문제가 있는 쿼리를 찾아내는 등의 목적으로 모든 쿼리를 기록하고 싶은 경우에는, 일반 쿼리 로그를 사용해 주세요. See&amp;nbsp;&lt;a title=&quot;4.10.2.&amp;#10;일반 쿼리 로그&quot; href=&quot;http://itcenter.happyrising.com/core/MySQL_4.1_Korean/MySQL_4.1_Korean/ch04s10.html#query-log&quot;&gt;항4.10.2. 「일반 쿼리 로그」&lt;/a&gt;&amp;nbsp;.&lt;/p&gt; &lt;p&gt;&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;(을)를&amp;nbsp;&lt;code class=&quot;option&quot;&gt;--log-bin[=file_name]&lt;/code&gt;&amp;nbsp;옵션으로 기동하면, 데이터를 갱신한 모든 SQL 커멘드가 로그 파일에 기록됩니다.파일명을 지정하지 않으면, 호스트 머신의 이름에&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;-bin&lt;/code&gt;&amp;nbsp;(을)를 붙인 것이 디폴트명이 됩니다.파일명을 지정해, 패스를 지정하고 있지 않는 경우에는, 파일은 데이터 디렉토리에 작성됩니다.&lt;/p&gt; &lt;p&gt;&lt;code class=&quot;option&quot;&gt;--log-bin=filename.extension&lt;/code&gt;&amp;nbsp;그리고 확장자(extension)를 지정했을 경우, 확장자(extension)는 삭제됩니다.&lt;/p&gt; &lt;p&gt;&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;(은)는, 바이너리 로그 파일명에 숫자의 확장자(extension)를 추가합니다.이 번호는,&lt;code class=&quot;literal&quot;&gt;mysqladmin refresh&lt;/code&gt;&amp;nbsp;,&lt;code class=&quot;literal&quot;&gt;mysqladmin flush-logs&lt;/code&gt;&amp;nbsp;, 및&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;FLUSH LOGS&lt;/code&gt;&amp;nbsp;스테이트먼트가 실행될 때마다, 또는 서버가 재기동할 때마다 인크리먼트(increment) 됩니다.바이너리 로그의 사이즈가&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;max_binlog_size&lt;/code&gt;&amp;nbsp;에 이르면, 새로운 바이너리 로그가 자동적으로 작성됩니다.주의: 트랜잭션(transaction)를 사용하고 있는 경우, 트랜잭션(transaction)는 1 개의 정리로 바이너리 로그에 써지기 위해, 복수의 바이너리 로그에 분할될 것은 없습니다.따라서, 큰 트랜잭션(transaction)가 있는 경우, 바이너리 로그가&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;max_binlog_size&lt;/code&gt;&amp;nbsp;보다 커질 가능성이 있습니다.&lt;/p&gt; &lt;p&gt;모든 바이너리 로그 파일을 삭제하려면 ,&lt;code class=&quot;literal&quot;&gt;RESET MASTER&lt;/code&gt;&amp;nbsp;커멘드(see&amp;nbsp;&lt;a title=&quot;4.6.5. RESET&amp;#10;구문&quot; href=&quot;http://itcenter.happyrising.com/core/MySQL_4.1_Korean/MySQL_4.1_Korean/ch04s06.html#reset&quot;&gt;항4.6.5. 「&lt;code class=&quot;literal&quot;&gt;RESET&lt;/code&gt;&amp;nbsp;구문」&lt;/a&gt;&amp;nbsp;)(을)를 사용합니다.일부의 파일을 삭제하려면 ,&lt;code class=&quot;literal&quot;&gt;PURGE MASTER LOGS&lt;/code&gt;&amp;nbsp;(see&lt;a title=&quot;4.11.7.&amp;#10;마스터 서버를 제어한다 SQL&amp;#10;스테이트먼트&quot; href=&quot;http://itcenter.happyrising.com/core/MySQL_4.1_Korean/MySQL_4.1_Korean/ch04s11.html#replication-master-sql&quot;&gt;항4.11.7. 「마스터 서버를 제어한다 SQL 스테이트먼트」&lt;/a&gt;&amp;nbsp;)(을)를 사용합니다.&lt;/p&gt; &lt;p&gt;&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;그리고 이하의 옵션을 사용해, 무엇을 바이너리 로그에 기록할까 제어할 수 있습니다(겉(표)의 뒤의 설명을 반드시 읽어 주세요).&lt;/p&gt; &lt;div class=&quot;informaltable&quot;&gt;&lt;table border=&quot;1&quot;&gt;&lt;colgroup&gt;&lt;col /&gt;&lt;col /&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span class=&quot;bold&quot;&gt;&lt;strong&gt;옵션&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class=&quot;bold&quot;&gt;&lt;strong&gt;설명&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code class=&quot;literal&quot;&gt;binlog-do-db=database_name&lt;/code&gt;&lt;/td&gt;&lt;td&gt;경향 데이타베이스(&lt;code class=&quot;literal&quot;&gt;USE&lt;/code&gt;&amp;nbsp;에 의해서 선택된 데이타베이스)가 &#039;database_name&#039; 의 경우, 갱신을 바이너리 로그에 기록하도록(듯이) 마스터에 지시한다.그 이외의 명시적으로 지정되어 있지 않은 데이타베이스는 모두 무시한다.주의: 경향 데이타베이스내에서만 갱신을 실시하는 것이 확실한 경우에, 이 옵션을 사용하는 것(예:&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;binlog-do-db=some_database&lt;/code&gt;&amp;nbsp;). 예상하기 힘든 동작예: 서버를&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;binlog-do-db=sales&lt;/code&gt;&amp;nbsp;그리고 기동해,&lt;code class=&quot;literal&quot;&gt;USE prices; UPDATE sales.january SET amount=amount+1000;&lt;/code&gt;&amp;nbsp;(을)를 실행했을 경우, 이 쿼리는 바이너리 로그에는 써지지 않다.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code class=&quot;literal&quot;&gt;binlog-ignore-db=database_name&lt;/code&gt;&lt;/td&gt;&lt;td&gt;경향 데이타베이스(&lt;code class=&quot;literal&quot;&gt;USE&lt;/code&gt;&amp;nbsp;에 의해서 선택된 데이타베이스)가 &#039;database_name&#039; 의 경우, 갱신을 바이너리 로그에 기록하지 않게 마스터에 지시한다.주의: 경향 데이타베이스내에서만 갱신을 실시하는 것이 확실한 경우에, 이 옵션을 사용하는 것(예:&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;binlog-ignore-db=some_database&lt;/code&gt;&amp;nbsp;). 예상하기 힘든 동작예: 서버를&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;binlog-ignore-db=sales&lt;/code&gt;&amp;nbsp;그리고 기동해,&lt;code class=&quot;literal&quot;&gt;USE prices; UPDATE sales.january SET amount=amount+1000;&lt;/code&gt;&amp;nbsp;(을)를 실행했을 경우, 이 쿼리는 바이너리 로그에 써진다.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;쿼리를 바이너리 로그에 쓸지의 평가는, 이하의 순서로 행해집니다.&lt;/p&gt; &lt;div class=&quot;orderedlist&quot;&gt;&lt;ol type=&quot;1&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;code class=&quot;literal&quot;&gt;binlog-do-db&lt;/code&gt;&amp;nbsp;룰 또는&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;binlog-ignore-db&lt;/code&gt;&amp;nbsp;룰이 있을까.&lt;/p&gt; &lt;div class=&quot;itemizedlist&quot;&gt;&lt;ul type=&quot;disc&quot;&gt;&lt;li&gt;&lt;p&gt;No: 쿼리를 바이너리 로그에 써 종료한다.&lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;p&gt;Yes: 다음의 스텝으로 옮긴다.&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;룰(&lt;code class=&quot;literal&quot;&gt;binlog-do-db&lt;/code&gt;&amp;nbsp;또는&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;binlog-ignore-db&lt;/code&gt;&amp;nbsp;, 혹은 그 양쪽 모두)가 존재한다.경향 데이타베이스가 있을까(&lt;code class=&quot;literal&quot;&gt;USE&lt;/code&gt;&amp;nbsp;하지만 선택하고 있는 데이타베이스가 있을까).&lt;/p&gt; &lt;div class=&quot;itemizedlist&quot;&gt;&lt;ul type=&quot;disc&quot;&gt;&lt;li&gt;&lt;p&gt;No: 쿼리를&lt;span class=&quot;bold&quot;&gt;&lt;strong&gt;&amp;nbsp;쓰지 마&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;종료한다.&lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;p&gt;Yes: 다음의 스텝으로 옮긴다.&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;경향 데이타베이스가 있다.&lt;code class=&quot;literal&quot;&gt;binlog-do-db&lt;/code&gt;&amp;nbsp;룰은 있을까.&lt;/p&gt; &lt;div class=&quot;itemizedlist&quot;&gt;&lt;ul type=&quot;disc&quot;&gt;&lt;li&gt;&lt;p&gt;Yes: 경향 데이타베이스가&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;binlog-do-db&lt;/code&gt;&amp;nbsp;룰의 어느 쪽인가에 일치하고 있을까.&lt;/p&gt; &lt;div class=&quot;itemizedlist&quot;&gt;&lt;ul type=&quot;circle&quot;&gt;&lt;li&gt;&lt;p&gt;Yes: 쿼리를 써 종료한다.&lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;p&gt;No: 쿼리를&lt;span class=&quot;bold&quot;&gt;&lt;strong&gt;&amp;nbsp;쓰지 마&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;종료한다.&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;No: 다음의 스텝으로 옮긴다.&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;code class=&quot;literal&quot;&gt;binlog-ignore-db&lt;/code&gt;&amp;nbsp;룰이 존재한다. 경향 데이타베이스가&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;binlog-ignore-db&lt;/code&gt;&amp;nbsp;룰의 어느 쪽인가에 일치하고 있을까.&lt;/p&gt; &lt;div class=&quot;itemizedlist&quot;&gt;&lt;ul type=&quot;disc&quot;&gt;&lt;li&gt;&lt;p&gt;Yes: 쿼리를 쓰지 말고 종료한다.&lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;p&gt;No: 쿼리를 써 종료한다.&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;p&gt;따라서, 예를 들어&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;binlog-do-db=sales&lt;/code&gt;&amp;nbsp;만으로 실행중의 슬레이브는, 경향 데이타베이스가&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;sales&lt;/code&gt;&amp;nbsp;(이)가 아닌 쿼리를 일절 바이너리 로그에 쓰지 않습니다(즉,&lt;code class=&quot;literal&quot;&gt;binlog-do-db&lt;/code&gt;&amp;nbsp;하 `` 다른 데이타베이스를 무시한다&#039;&#039; 그렇다고 하게도 됩니다).&lt;/p&gt; &lt;p&gt;어느 바이너리 로그 파일이 사용되었는지 알도록(듯이),&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;(은)는 바이너리 로그인 덱스 파일도 작성합니다.이 파일에, 사용된 바이너리 로그 파일 모든 이름이 포함됩니다.디폴트에서는, 이 파일의 이름은 바이너리 로그 파일명에 확장자(extension)&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;&#039;.index&#039;&lt;/code&gt;&amp;nbsp;(을)를 붙인 것이 됩니다. 바이너리 로그인 덱스 파일의 이름을 변경하려면 ,&lt;code class=&quot;option&quot;&gt;--log-bin-index=[filename]&lt;/code&gt;&amp;nbsp;옵션을 사용합니다.&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;의 실행중은, 이 파일을 수동으로 편집하지 말아 주세요.&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;하지만 혼란하는 원인이 됩니다.&lt;/p&gt; &lt;p&gt;replication를 사용하고 있는 경우, 슬레이브가 필요로 하고 있는 동안은, 낡은 바이너리 로그 파일을 삭제하지 말아 주세요. 예를 들어,&lt;code class=&quot;literal&quot;&gt;mysqladmin flush-logs&lt;/code&gt;&amp;nbsp;(을)를 매일 실행하는 경우,3 일 경과한 로그를 모두 삭제하도록(듯이) 합니다.이러한 로그는 수동으로 삭제할 수도 있습니다만, 바이너리 로그인 덱스 파일도 안전하게 갱신할 수 있다&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;PURGE MASTER LOGS&lt;/code&gt;&amp;nbsp;(see&amp;nbsp;&lt;a title=&quot;4.11.7.&amp;#10;마스터 서버를 제어한다 SQL&amp;#10;스테이트먼트&quot; href=&quot;http://itcenter.happyrising.com/core/MySQL_4.1_Korean/MySQL_4.1_Korean/ch04s11.html#replication-master-sql&quot;&gt;항4.11.7. 「마스터 서버를 제어한다 SQL 스테이트먼트」&lt;/a&gt;&amp;nbsp;)(을)를 사용해 삭제하는 것을 추천 합니다.이 커멘드는,MySQL 4.1 (으)로부터 일자 인수를 지정할 수 있게 되어 있습니다.&lt;/p&gt; &lt;p&gt;&lt;code class=&quot;literal&quot;&gt;SUPER&lt;/code&gt;&amp;nbsp;권한으로의 접속에서는,&lt;code class=&quot;literal&quot;&gt;SET SQL_LOG_BIN=0&lt;/code&gt;&amp;nbsp;(을)를 사용하고, 쿼리의 바이너리 로그를 무효로 할 수 있습니다. See&amp;nbsp;&lt;a title=&quot;4.11.7.&amp;#10;마스터 서버를 제어한다 SQL&amp;#10;스테이트먼트&quot; href=&quot;http://itcenter.happyrising.com/core/MySQL_4.1_Korean/MySQL_4.1_Korean/ch04s11.html#replication-master-sql&quot;&gt;항4.11.7. 「마스터 서버를 제어한다 SQL 스테이트먼트」&lt;/a&gt;&amp;nbsp;.&lt;/p&gt; &lt;p&gt;바이너리 로그 파일을 조사하려면 ,&lt;code class=&quot;literal&quot;&gt;mysqlbinlog&lt;/code&gt;&amp;nbsp;유틸리티를 사용합니다. 예를 들어, 이하와 같이 바이너리 로그로부터 MySQL 서버를 갱신할 수 있습니다.&lt;/p&gt; &lt;pre class=&quot;programlisting&quot;&gt;shell&amp;gt; &lt;strong class=&quot;userinput&quot;&gt;&lt;code&gt;mysqlbinlog log-file | mysql -h server_name&lt;/code&gt;&lt;/strong&gt; &lt;/pre&gt;&lt;p&gt;&lt;code class=&quot;literal&quot;&gt;mysqlbinlog&lt;/code&gt;&amp;nbsp;유틸리티 및 그 사용법에 관한 상세한 것에 대하여는,&lt;a title=&quot;4.9.5. mysqlbinlog&amp;#10;(바이너리 로그로부터 쿼리를 실행한다)&quot; href=&quot;http://itcenter.happyrising.com/core/MySQL_4.1_Korean/MySQL_4.1_Korean/ch04s09.html#mysqlbinlog&quot;&gt;&amp;nbsp;항4.9.5. 「&lt;code class=&quot;literal&quot;&gt;mysqlbinlog&lt;/code&gt;&amp;nbsp;(바이너리 로그로부터 쿼리를 실행한다)」&lt;/a&gt;&amp;nbsp;(을)를 참조해 주세요.&lt;/p&gt; &lt;p&gt;&lt;code class=&quot;literal&quot;&gt;BEGIN [WORK]&lt;/code&gt;&amp;nbsp;또는&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;SET AUTOCOMMIT=0&lt;/code&gt;&amp;nbsp;(을)를 사용하고 있는 경우는, 이전의 갱신 로그는 아니고 MySQL 바이너리 로그를 백업용으로 사용해 주세요.갱신 로그는 MySQL 5.0 (이)가 아니게 됩니다.&lt;/p&gt; &lt;p&gt;바이너리 로그의 기입은, 쿼리가 완료한 직후에 락의 해제전에, 또는 코?~ 트의 전에 행해집니다.이 때문에, 로그는 실행 순서대로 써집니다.&lt;/p&gt; &lt;p&gt;비트랜잭션(transaction) 테이블의 갱신은 실행 직후에 바이너리 로그에 보존됩니다.&lt;code class=&quot;literal&quot;&gt;BDB&lt;/code&gt;&amp;nbsp;테이블이나&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;InnoDB&lt;/code&gt;&amp;nbsp;테이블등의 트랜잭션(transaction) 테이블에서는, 테이블을 변경하는 모든 갱신(&lt;code class=&quot;literal&quot;&gt;UPDATE&lt;/code&gt;&amp;nbsp;,&lt;code class=&quot;literal&quot;&gt;DELETE&lt;/code&gt;&amp;nbsp;, 또는&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;INSERT&lt;/code&gt;&amp;nbsp;)(은)는,&lt;code class=&quot;literal&quot;&gt;COMMIT&lt;/code&gt;&amp;nbsp;커멘드가 서버에 송신될 때까지 캐쉬됩니다.&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;(은)는,&lt;code class=&quot;literal&quot;&gt;COMMIT&lt;/code&gt;&amp;nbsp;하지만 실행되기 전에 트랜잭션(transaction) 전체를 바이너리 로그에 씁니다. 모든 스레드가, 최초로, 쿼리를 버퍼 한다&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;binlog_cache_size&lt;/code&gt;&amp;nbsp;의 버퍼를 할당합니다.쿼리가 이것보다 큰 경우, 스레드는 임시 파일을 열어 트랜잭션(transaction)를 보존합니다.스레드가 종료하면 임시 파일은 삭제됩니다.&lt;/p&gt; &lt;p&gt;&lt;code class=&quot;literal&quot;&gt;max_binlog_cache_size&lt;/code&gt;&amp;nbsp;(디폴트는 4G )(을)를 사용하고, 복수 쿼리 트랜잭션(transaction)의 캐쉬에 사용하는 토탈 사이즈를 제한할 수 있습니다.트랜잭션(transaction)가 이것보다 큰 경우, 에러가 되어 롤백(rollback) 합니다.&lt;/p&gt; &lt;p&gt;갱신 로그 또는 바이너리 로그를 사용하고 있는 경우에,&lt;code class=&quot;literal&quot;&gt;CREATE ... SELECT&lt;/code&gt;&amp;nbsp;또는&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;INSERT ... SELECT&lt;/code&gt;&amp;nbsp;(을)를 사용하면, 동시 삽입이 통상의 삽입에 변환됩니다. 이것은, 백업에 로그를 적용했을 때에, 테이블의 정확한 카피를 작성하기 위한 조치입니다.&lt;/p&gt; &lt;/div&gt;&lt;div class=&quot;section&quot; lang=&quot;ja&quot; style=&quot;color: rgb(0, 0, 0); line-height: normal; font-family: Gulim; font-size: 12pt;&quot;&gt;&lt;div class=&quot;titlepage&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class=&quot;title&quot;&gt;&lt;a name=&quot;slow-query-log&quot;&gt;&lt;/a&gt;4.10.5. 슬로우 쿼리 로그&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;a name=&quot;id505381&quot;&gt;&lt;/a&gt;&lt;a name=&quot;id505391&quot;&gt;&lt;/a&gt;&lt;p&gt;&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;(을)를&amp;nbsp;&lt;code class=&quot;option&quot;&gt;--log-slow-queries[=file_name]&lt;/code&gt;&amp;nbsp;옵션으로 기동하면, 실행에&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;long_query_time&lt;/code&gt;&amp;nbsp;초보다 길게 걸렸다 SQL 커멘드가 모두 로그 파일에 써집니다.최초의 테이블 락에 걸린 시간은 실행 시간에 포함되지 않습니다.&lt;/p&gt; &lt;p&gt;슬로우 쿼리 로그는, 쿼리 실행 후, 모든 락이 해제된 후에 써집니다.이것은, 스테이트먼트가 실행된 순서와는 다른 경우가 있습니다.&lt;/p&gt; &lt;p&gt;파일명을 지정하지 않으면, 호스트 머신의 이름에&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;-slow.log&lt;/code&gt;&amp;nbsp;(을)를 붙인 것이 디폴트명이 됩니다.파일명을 지정해, 패스를 지정하지 않는 경우, 파일은 데이터 디렉토리에 작성됩니다.&lt;/p&gt; &lt;p&gt;슬로우 쿼리 로그는, 실행에 시간이 걸려, 최적화의 대상이 되는 쿼리를 찾아내기 위해서 사용할 수 있습니다.큰 로그에서는, 이것은 어려운 작업이 됩니다.&lt;code class=&quot;literal&quot;&gt;mysqldumpslow&lt;/code&gt;&amp;nbsp;커멘드를 사용하면, 로그의 쿼리 요약을 취득할 수 있습니다.&lt;/p&gt; &lt;p&gt;&lt;code class=&quot;option&quot;&gt;--log-long-format&lt;/code&gt;&amp;nbsp;(을)를 사용하면, 인덱스를 사용하지 않았던 쿼리도 출력됩니다. See&amp;nbsp;&lt;a title=&quot;4.1.1. mysqld&amp;#10;커멘드 라인 옵션&quot; href=&quot;http://itcenter.happyrising.com/core/MySQL_4.1_Korean/MySQL_4.1_Korean/ch04.html#command-line-options&quot;&gt;항4.1.1. 「&lt;code class=&quot;literal&quot;&gt;mysqld&lt;/code&gt;&amp;nbsp;커멘드 라인 옵션」&lt;/a&gt;&amp;nbsp;.&lt;/p&gt; &lt;/div&gt;&lt;div class=&quot;section&quot; lang=&quot;ja&quot; style=&quot;color: rgb(0, 0, 0); line-height: normal; font-family: Gulim; font-size: 12pt;&quot;&gt;&lt;div class=&quot;titlepage&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class=&quot;title&quot;&gt;&lt;a name=&quot;log-file-maintenance&quot;&gt;&lt;/a&gt;4.10.6. 로그 파일의 보수&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;a name=&quot;id505521&quot;&gt;&lt;/a&gt;&lt;a name=&quot;id505535&quot;&gt;&lt;/a&gt;&lt;a name=&quot;id505549&quot;&gt;&lt;/a&gt;&lt;p&gt;MySQL 서버에서는 몇개의 종류의 로그 파일이 생성되어 실행 내용을 간단하게 확인할 수 있습니다.See&amp;nbsp;&lt;a title=&quot;4.10. MySQL&amp;#10;로그 파일&quot; href=&quot;http://itcenter.happyrising.com/core/MySQL_4.1_Korean/MySQL_4.1_Korean/ch04s10.html&quot;&gt;항4.10. 「MySQL 로그 파일」&lt;/a&gt;&amp;nbsp;. 다만, 로그가 디스크 영역을 점유 너무 하지 않게 이러한 파일을 정기적으로 클린 업 할 필요가 있습니다.&lt;/p&gt; &lt;p&gt;MySQL (을)를 로그 파일과 함께 사용하는 경우, 정기적으로 낡은 파일을 삭제 또는 백업 해, 새로운 파일로 로그를 개시하도록 해 주세요. See&amp;nbsp;&lt;a title=&quot;4.5.1.&amp;#10;데이타베이스의 백업&quot; href=&quot;http://itcenter.happyrising.com/core/MySQL_4.1_Korean/MySQL_4.1_Korean/ch04s05.html#backup&quot;&gt;항4.5.1. 「데이타베이스의 백업」&lt;/a&gt;&amp;nbsp;.&lt;/p&gt; &lt;p&gt;Linux (&lt;code class=&quot;literal&quot;&gt;Red Hat&lt;/code&gt;&amp;nbsp;) 인스톨에서는,&lt;code class=&quot;literal&quot;&gt;mysql-log-rotate&lt;/code&gt;&amp;nbsp;스크립트를 사용하고, 낡은 로그 파일의 처리를 자동적으로 실시할 수 있습니다.RPM 디스트리뷰션으로부터 MySQL (을)를 인스톨 하고 있으면, 이 스크립트는 자동적으로 인스톨 되고 있을 것입니다.주의: replication용으로 바이너리 로그를 사용하고 있는 경우, 이 스크립트의 사용에는 주의가 필요합니다.&lt;/p&gt; &lt;p&gt;다른 시스템에서는, 로그 파일을 처리하기 위한 짧은 스크립트를 스스로 인스톨 할 필요가 있습니다.이 스크립트는,&lt;code class=&quot;literal&quot;&gt;cron&lt;/code&gt;&amp;nbsp;(으)로부터 개시합니다.&lt;/p&gt; &lt;p&gt;새로운 로그 파일의 사용을 MySQL 에 강제하려면 ,&lt;code class=&quot;literal&quot;&gt;mysqladmin flush-logs&lt;/code&gt;&amp;nbsp;(을)를 사용하는지,SQL 커멘드&amp;nbsp;&lt;code class=&quot;literal&quot;&gt;FLUSH LOGS&lt;/code&gt;&amp;nbsp;(을)를 사용합니다. MySQL 버젼 3.21 (을)를 사용하고 있는 경우,&lt;code class=&quot;literal&quot;&gt;mysqladmin refresh&lt;/code&gt;&amp;nbsp;(을)를 사용할 필요가 있습니다.&lt;/p&gt; &lt;p&gt;상기 커멘드는 이하를 실행합니다.&lt;/p&gt; &lt;div class=&quot;itemizedlist&quot;&gt;&lt;ul type=&quot;disc&quot;&gt;&lt;li&gt;&lt;p&gt;일반 로그(&lt;code class=&quot;option&quot;&gt;--log&lt;/code&gt;&amp;nbsp;) 또는 슬로우 쿼리 로그(&lt;code class=&quot;option&quot;&gt;--log-slow-queries&lt;/code&gt;&amp;nbsp;)(이)가 사용되고 있는 경우, 로그 파일(디폴트에서는&amp;nbsp;&lt;code class=&quot;filename&quot;&gt;mysql.log&lt;/code&gt;&amp;nbsp;(와)과&amp;nbsp;&lt;code class=&quot;filename&quot;&gt;`hostname`-slow.log&lt;/code&gt;&amp;nbsp;)(을)를 닫아 다시 연다.&lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;p&gt;갱신 로그(&lt;code class=&quot;option&quot;&gt;--log-update&lt;/code&gt;&amp;nbsp;)(이)가 사용되고 있는 경우, 갱신 로그를 닫고,1 개번호가 큰 신규 로그 파일을 연다.&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;p&gt;갱신 로그만을 사용하고 있는 경우는, 로그를 플래시 하고, 낡은 갱신 로그 파일을 백업으로 이동하는 것만으로 끝납니다. 통상의 로그를 사용하고 있는 경우는, 이하와 같이 실시합니다.&lt;/p&gt; &lt;pre class=&quot;programlisting&quot;&gt;shell&amp;gt; &lt;strong class=&quot;userinput&quot;&gt;&lt;code&gt;cd mysql-data-directory&lt;/code&gt;&lt;/strong&gt; shell&amp;gt; &lt;strong class=&quot;userinput&quot;&gt;&lt;code&gt;mv mysql.log mysql.old&lt;/code&gt;&lt;/strong&gt; shell&amp;gt; &lt;strong class=&quot;userinput&quot;&gt;&lt;code&gt;mysqladmin flush-logs&lt;/code&gt;&lt;/strong&gt; &lt;/pre&gt;&lt;p&gt;다음에, 백업을 작성해,&lt;code class=&quot;filename&quot;&gt;mysql.old&lt;/code&gt;&amp;nbsp;(을)를 삭제합니다.&lt;/p&gt; &lt;/div&gt;&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 -&amp;nbsp;&lt;a href=&quot;http://itcenter.happyrising.com/core/MySQL_4.1_Korean/MySQL_4.1_Korean/ch04s10.html&quot;&gt;http://itcenter.happyrising.com/core/MySQL_4.1_Korean/MySQL_4.1_Korean/ch04s10.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://linuxism.tistory.com/518&quot;&gt;http://linuxism.tistory.com/518&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content>		<category term="MySQL"/><category term="로그"/><category term="파일"/><category term="관리"/><category term="1"/>	</entry><entry>
		<title>MySQL Binary Log 지우는 방법</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/100451"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/100451#comment"/>		<id>https://adminid.kr/mysql/100451</id>
		<published>2014-11-17T09:39:20+00:00</published>
		<updated>2014-11-17T09:39:20+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text">MySQL Binary Log 는 add, delete, insert, update 등의 query 가 저장되어 있는 파일로서 MySQL 을 설치하게 되면 기본적으로 MySQL Binary Log 가 생성됩니다. Binary Log 를 쌓지 않아도 되는 MySQL 구동 환경에서는 Binary Log 를 삭제하므로, 디스크 공간 여유 공간을 확보할 수 있는데, MySQL Binary Log 를 지우는 방법에 대해서 알아보겠습니다. 1. MySQL Replication 환경에서 지우기 - MySQL Replication MASTER 서버 she...</summary>
	<content type="html">&lt;p&gt;&lt;font size=&quot;2&quot;&gt;MySQL Binary Log 는 add, delete, insert, update 등의 query 가 저장되어 있는 파일로서 MySQL 을&amp;nbsp;&amp;nbsp;설치하게 되면 기본적으로 MySQL Binary Log 가 생성됩니다.&lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;Binary Log 를 쌓지 않아도 되는 MySQL 구동 환경에서는 Binary Log 를 삭제하므로, 디스크 공간&lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;여유 공간을 확보할 수 있는데, MySQL Binary Log 를 지우는 방법에 대해서 알아보겠습니다.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;1. MySQL Replication 환경에서 지우기&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp; - MySQL Replication MASTER 서버&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; shell&amp;gt; mysql -u root -p&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mysql&amp;gt; RESET MASTER;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp; - MySQL Replication SLAVE 서버&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; shell&amp;gt; mysql -u root -p&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mysql&amp;gt; RESET MASTER;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;2. MySQL Binary Log sequence number 또는 특정 일자로 지우기&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp; shell&amp;gt; mysql -u root -p&lt;br /&gt;&amp;nbsp; mysql&amp;gt; PURGE BINARY LOGS TO &#039;mysql-bin.000015&#039;;&lt;br /&gt;&amp;nbsp; shell&amp;gt; mysql -u root -p&lt;br /&gt;&amp;nbsp; mysql&amp;gt; PURGE BINARY LOGS BEFORE &#039;2009-05-01 00:00:00&#039;;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;3. mysqladmin flush-logs 명령어를 통해서 MySQL Binary Log 지우기 &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&amp;nbsp; shell&amp;gt; mysqladmin -u root -p flush-logs&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;4. MySQL Binary Log 생성을 방지하는 방법&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp; /etc/my.cnf 파일에서 아래 라인을 주석 처리&lt;br /&gt;&amp;nbsp; log-bin&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;5. MySQL Binary Log 를 특정 1주일까지만 생성 및 보관하기&lt;br /&gt;&amp;nbsp; /etc/my.cnf 파일에서 아래 라인을 추가&lt;br /&gt;&amp;nbsp; expire_logs_days = 7&lt;/span&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://faq.hostway.co.kr/Linux_DB/1307&quot;&gt;http://faq.hostway.co.kr/Linux_DB/1307&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content>		<category term="MySQL"/><category term="Binary"/><category term="Log"/><category term="지우는"/><category term="방법"/>	</entry><entry>
		<title>MySQL 설치/사용시 발생 에러 유형별 대처방법</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/100443"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/100443#comment"/>		<id>https://adminid.kr/mysql/100443</id>
		<published>2014-11-17T09:38:29+00:00</published>
		<updated>2014-11-17T09:38:29+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text">1. ./configure 시에 에러 증상1 checking for tgetent in -lncurses... no checking for tgetent in -lcurses... no checking for tgetent in -ltermcap... no checking for termcap functions library... configure: error: No curses/termcap library found [root@localhost mysql-4.0.13]# make make: *** No targets specified and no makefile found. stop. Q1 : 왜 이런 메세지가 뜨냐? A1: gcc가 없던지 PATH가 안잡혀 있는...</summary>
	<content type="html">&lt;p&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot; size=&quot;2&quot;&gt;1. ./configure 시에 에러&lt;br /&gt;&lt;/font&gt;&lt;/strong&gt;&lt;font size=&quot;2&quot;&gt;증상1&lt;/font&gt; &lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;checking for tgetent in -lncurses... no&lt;br /&gt;checking for tgetent in -lcurses... no&lt;br /&gt;checking for tgetent in -ltermcap... no&lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font color=&quot;#d41a01&quot;&gt;&lt;font color=&quot;#333333&quot;&gt;checking for termcap functions library... configure: error: No curses/termcap library found&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;[root@localhost mysql-4.0.13]# make&lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;&lt;font color=&quot;#d41a01&quot;&gt;&lt;font color=&quot;#333333&quot;&gt;make: *** No targets specified and no makefile found. stop.&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;Q1 : 왜 이런 메세지가 뜨냐?&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;A1: gcc가 없던지 PATH가 안잡혀 있는 경우&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;Q2 : configure: error: no acceptable C compiler found in $PATH&lt;br /&gt;&amp;nbsp;설치를 잘못 한건가?&lt;br /&gt;[root@localhost mysql-4.0.13]make 실행 시&lt;br /&gt;make: *** No targets specified and no makefile found. &amp;nbsp;멈춤. &lt;br /&gt;메세지 뜨는데 어케? &lt;br /&gt;&lt;br /&gt;A2 : 리눅스에 gcc가 설치됐는지 확인하라.&lt;br /&gt;# rpm -qa| grep gcc&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;2. 소스 설치시 &quot;NOTE: This is a MySQL binary distribution.&quot; 라는 메시지의 경우&lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;Q : It&#039;s ready to run, you don&#039;t need to configure it! 나옵니다. 이유가?&lt;br /&gt;&lt;br /&gt;A : 컴파일이 필요없는 바이너리를 받은거 같다. 이미 컴파일한 거다.&lt;br /&gt;&amp;nbsp; 압축풀고 적당한 위치로 이동시켜라.&lt;br /&gt;&lt;br /&gt;tar zxvf mysql-xx.xx.tar.gz&lt;br /&gt;mv mysql-xx.xx /usr/local/&lt;br /&gt;ln -s /usr/local/mysqlxx.xx /usr/local/mysql&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;3. mysql을 실행하면 (2)번 에러&lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;Q : ERROR 2002: Can&#039;t connect to local MySQL server through socket &#039;/var/lib/mysql/m&lt;br /&gt;ysql.sock&#039; (2) 무슨 에러인지요?&lt;br /&gt;&lt;br /&gt;A : 데몬 구동시 ./safe_mysqld --user=mysql &amp;amp; 실행 시켜보라. &lt;br /&gt;그래도 에러가 날 경우 ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock 해보라.&lt;br /&gt;&lt;span id=&quot;callbacknestapplejaratistorycom2623024&quot; style=&quot;width: 1px; height: 1px; float: right;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;4. mysql.sock 중에 (40)번에러&lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;Q : ERROR 2002: Can&#039;t connect to local MySQL server through socket &#039;/var/lib/mysql/m&lt;br /&gt;ysql.sock&#039; (40)&lt;br /&gt;&lt;br /&gt;A : chown mysql.mysql -R /var/lib/mysql 를 하기 바란다.&lt;br /&gt;그리고 참고로 php에서의 mysql socket 은 /etc/php.ini 에서 경로를 수정할 수 있다.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;5. mysql 데몬이 죽어버릴때&lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;Q : # ./mysqld_safe &amp;amp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; chown mysql .. &amp;lt;-- 비슷한 오류가 뜨면서 데몬이 죽어버린다.어케?&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;A : 레드햇 리눅스라면 groupadd 와 useradd 에 &#039;-r&#039; 옵션을 사용하라.&lt;br /&gt;# useradd -r -d /usr/local/mysql mysql&lt;br /&gt;이렇게 하면 500 보다 작은 UID, GID를 가진 mysql 그룹과 &lt;/font&gt;&lt;font size=&quot;2&quot;&gt;사용자가 생성된다.&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font color=&quot;#0000ff&quot;&gt;&lt;strong&gt;6. mysql 실행시 데몬 바로 죽음&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;Q : &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;030527 22:33:39 &amp;nbsp;mysqld started&lt;br /&gt;030527 22:33:39 &amp;nbsp;Can&#039;t start server: Bind on TCP/IP port: 주소가 이미 사용 중&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;030527 22:33:39 &amp;nbsp;Do you already have another mysqld server running on port: 3306 ?&lt;br /&gt;030527 22:33:39 &amp;nbsp;Aborting&lt;br /&gt;030527 22:39:50 &amp;nbsp;/usr/local/mysql/libexec/mysqld: Shutdown 이 완료됨!&lt;br /&gt;030527 22:39:50 &amp;nbsp;mysqld ended&lt;br /&gt;&lt;br /&gt;A : 3306 포트에 이미 다른 mysqld 가 실행되고 있다.&lt;br /&gt;# vi /mysql/scripts/mysql_config 을 열어서 포트번호 수정.&lt;br /&gt;&lt;/font&gt;&lt;/p&gt; &lt;font size=&quot;2&quot;&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;7. mysql-4.0.12 설치후 데몬이 안띄워지고 바로 죽을 경우.&lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;Q 정상적으로 소스 설치하고 나서,,&lt;br /&gt;&amp;nbsp; /usr/local/mysql/bin/mysqld_safe &amp;amp; 실행하면,,, 데몬이 시작하자 마자 바로 죽는다.&lt;br /&gt;&amp;nbsp;./safe_mysqld Starting mysqld daemon with databases from /usr/local/mysql/var&lt;br /&gt;&amp;nbsp; &amp;nbsp;mysqld ended&lt;br /&gt;에러 메세지를 보기 위해 /usr/local/mysql/var 로 이동 &amp;nbsp;vinnylover.err 파일을 열어보니&lt;/p&gt; &lt;p&gt;아래와 같은 메세지가 있더군.&lt;br /&gt;mysqld started&lt;br /&gt;InnoDB: Started&lt;br /&gt;Fetal error: Can&#039;t open privilege tables: &lt;font color=&quot;#333333&quot;&gt;Can&#039;t find file: &#039; ./mysql/host.frm&lt;/font&gt;&#039;(errno: 13)&#039;&lt;br /&gt;Aborting&lt;br /&gt;&lt;br /&gt;A : mysql_install_db 스크립트를 실행해서 초기 테이블을 생성. &lt;br /&gt;&amp;nbsp; &amp;nbsp;# ./mysql_install_db 하면 된다. (/usr/local/mysql/bin 아래에서 하라)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;8. mysql sock 에러 문제의 확실한 해결법&lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;Q : 접속하면 &amp;gt;/var/lib/mysql/mysql.sock ... (111)&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;A : 디렉토리 퍼미션 문제&lt;br /&gt;# killall mysqld&lt;br /&gt;# chmod 755 -R /var/lib/mysql&lt;br /&gt;# chown mysql.mysql -R /var/lib/mysql&lt;br /&gt;# mysqld_safe --language=korean &amp;amp;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;9. make 명령어를 실행하면 설치가 해제&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;Q : make[2]: *** No rule to make target `ctype-euc_kr.lo&#039;, needed by `bmove_upp.lo&#039;. 멈춤. &lt;br /&gt;make[2]: 나감 `/usr/local/down/mysql-3.23.38/libmysql&#039; 디렉토리 &lt;br /&gt;make[1]: *** [all-recursive] 오류 1 &lt;br /&gt;make[1]: 나감 `/usr/local/down/mysql-3.23.38&#039; 디렉토리 &lt;br /&gt;make: *** [all-recursive-am] 오류 2 &lt;br /&gt;&lt;/p&gt; &lt;p&gt;A : 먼저 LD_LIBRARY_PATH에 모든 라이브러리 경로가 들어가 있어야 한다.&lt;br /&gt;이런 경우때문에 필요한 라이브러리를 찾지못해 에러가 발생.&lt;br /&gt;거의 필요한 패키지를 설치했는데도 에러가 나면 LD_LIBRARY_PATH를 확인해볼 필요가 있다.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;10. mysql 설치시 gcc에러나는데 해결책&lt;/font&gt;&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;Q :&lt;/p&gt; &lt;p&gt;# ./configure --prefix=/usr/local/mysql --with-charset=euc_kr&lt;br /&gt;checking for c++... c++&lt;br /&gt;checking whether the C++ compiler (c++ &amp;nbsp; ) works... no&lt;br /&gt;configure: error: installation or configuration problem: C++ compiler cannot create executables.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;A : rpm으로 찾아서 다 설치하고 나서 컴파일 하면 된다. &lt;br /&gt;rpmfind.net에서 찾으실 수 있습니다. 에러 보고 하나하나 다 설치하면 된다. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;11. 인스톨 설치도중 103 에러&lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;Q : an error occured move data process: -103 &lt;br /&gt;compenent : server&lt;br /&gt;&lt;br /&gt;A : mysql 설치된 폴더를 완전시 삭제 후 재설치 &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;12. mysql설치 시 invalid user 오류&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;Q : chown: mysql: invalid user&lt;br /&gt;Starting mysqld daemon with databases from /usr/local/mysql/data&lt;br /&gt;030417 11:42:35 &amp;nbsp;mysqld ended&lt;br /&gt;&lt;br /&gt;A : mysql 이란 유져가 유효하지 않다라는 에러로써 현재 mysql이란 계정이 존재하지 않기때문에 나는 에러&lt;/p&gt; &lt;p&gt;# /usr/sbin/useradd mysql -M -s /bin/false&lt;/p&gt; &lt;p&gt;# chown -R root /usr/local/mysql&lt;br /&gt;# chown -R mysql /usr/local/mysql/var&lt;br /&gt;# chgrp -R mysql /usr/local/mysql&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;13. mysql 4.0.12 설치 시 &quot;Check your system clock&quot; 오류&lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;Q&lt;/p&gt; &lt;p&gt;# ./configure --prefix=/usr/local/mysql --with-charset=euc_kr &lt;br /&gt;이렇게 했는데 다음과 같은 메세지의 경우....&lt;br /&gt;checking build system type... i686-pc-linux&lt;br /&gt;checking host system type... i686-pc-linux&lt;br /&gt;checking target system type... i686-pc-linux&lt;br /&gt;checking for a BSD-compatible install... /usr/bin/install -c&lt;br /&gt;checking whether build environment is sane... configure: error: newly created file is older than distributed files!&lt;br /&gt;Check your system clock&lt;br /&gt;&lt;br /&gt;A : mysql이 개발된 시간보다 현재시간 차이로 생기는 문제&lt;br /&gt;인터넷(네트웍)이 되는 상황이라면&lt;br /&gt;# date&lt;/p&gt; &lt;p&gt;# rdate -s time.bora.net &amp;nbsp; =&amp;gt; rdate -s time.nuri.net와 같이 다른서버로 해도 된다.&lt;/p&gt; &lt;p&gt;# date&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;14. 설치시 configure: error: no acceptable cc found in $PATH 에러&lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;Q : &lt;/p&gt; &lt;p&gt;configure: error: no acceptable cc found in $PATH&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;A : cc 즉 c complier 가 없다&lt;br /&gt;c 컴파일러가 PATH에 안잡혀 있을 수 있다. path를 추가하거나 gcc를 재설치&lt;/p&gt; &lt;p&gt;# vi /etc/profile&lt;/p&gt; &lt;p&gt;PATH=$PATH:.:/usr/local/mysql/bin&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;15. config시 ERROR: 1062 Duplicate entry &#039;localhost-root&#039; for key 1&lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;Q : mysql 소스설치 config시 에러의 경우 &lt;/p&gt; &lt;p&gt;rpm버전 삭제했는데 데몬이 살아 있나? ps -ax | grep mysql 하면 암것도 안나온다.&lt;br /&gt;ERROR: 1062 Duplicate entry &#039;localhost-root&#039; for key 1&lt;br /&gt;ERROR: 1062 Duplicate entry &#039;localhost-root&#039; for key 1&lt;br /&gt;030312 14:58:03 ./bin/mysqld: Shutdown Complete&lt;br /&gt;&lt;br /&gt;A : 캐시에 이전데몬이 살아있기 때문이다.&lt;br /&gt;kill&amp;nbsp; 또는 killall 명령으로 프로세스를 완전히 죽이고 설치하라&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;font color=&quot;#0000ff&quot;&gt;16. configure 에러로 &quot;error : No curses/termcap library found&quot; 에러?&lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;Q : checking for termcap functions library... &lt;br /&gt;configure: error : No curses/termcap library found&lt;br /&gt;&lt;br /&gt;A : libtermcap-devel-xxx 패키지가 필요해서 발생하는 에러&lt;br /&gt;설치시디를 넣으시고 설치를 하면 해결된다. &lt;/p&gt; &lt;/font&gt;&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://blog.naver.com/vinnylover/70014275743&quot;&gt;http://blog.naver.com/vinnylover/70014275743&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content>		<category term="MySQL"/><category term="설치"/><category term="사용시"/><category term="발생"/><category term="에러"/><category term="유형별"/><category term="대처방법"/>	</entry><entry>
		<title>Mysql 데이터 폴더의 mysql-bin.xxx 파일들 관련 삭제 및 초기화 방법</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/100423"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/100423#comment"/>		<id>https://adminid.kr/mysql/100423</id>
		<published>2014-11-17T09:35:42+00:00</published>
		<updated>2014-11-17T09:35:42+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text"># binary logging - not required for slaves, but recommended log-bin=mysql-bin 바이너리 로그 파일로서 위 log-bin부분을 주석처리해주면된다. 생성되었던 mysql-bin.00001등의 로그파일들은 한번에 삭제해주면되며, mysql-bin.index 파일이 해당 파일들을 관장하기 때문에 함께 지워주고 mysql을 리붓해주면 된다. # cd /var/lib/mysql # rm -rf mysql-bin.* # service mysqld restart 출처 : http://www.welog.co.kr/gbbs/bbs...</summary>
	<content type="html">&lt;p&gt;&lt;span id=&quot;writeContents&quot; style=&quot;font-size: 12px;&quot;&gt;# binary logging - not required for slaves, but recommended&lt;br /&gt;log-bin=mysql-bin&lt;br /&gt;&lt;br /&gt;바이너리 로그 파일로서 위 log-bin부분을 주석처리해주면된다.&lt;br /&gt;&lt;br /&gt;생성되었던 mysql-bin.00001등의 로그파일들은 한번에 삭제해주면되며,&lt;br /&gt;&lt;br /&gt;mysql-bin.index 파일이 해당 파일들을 관장하기 때문에 함께 지워주고 mysql을 리붓해주면 된다.&lt;br /&gt;&lt;br /&gt;# cd /var/lib/mysql&lt;br /&gt;# rm -rf mysql-bin.*&lt;br /&gt;# service mysqld restart&lt;/span&gt; &lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://www.welog.co.kr/gbbs/bbs/board.php?bo_table=mysql&amp;amp;wr_id=142&quot;&gt;http://www.welog.co.kr/gbbs/bbs/board.php?bo_table=mysql&amp;amp;wr_id=142&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content>		<category term="Mysql"/><category term="데이터"/><category term="폴더"/><category term="mysql-bin.xxx"/><category term="파일"/><category term="관련"/><category term="삭제"/><category term="초기화"/><category term="방법"/>	</entry><entry>
		<title>MySQL my.cnf 파일 수정으로 mysql 서버 튜닝하기</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/51197"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/51197#comment"/>		<id>https://adminid.kr/mysql/51197</id>
		<published>2014-07-06T15:33:13+00:00</published>
		<updated>2015-05-20T09:33:51+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text">mysql 서버 설치 후 my.cnf 파일 수정에 대해 몇자 적는다. 필자도 그랬지만 mysql 설치 후 # cp support-files/my-medium.cnf /etc/my.cnf &lt;==이렇게 달랑 한다음 손을 놓은 적이 많다. my.cnf는 mysql의 옵션 파일이라고 보면된다. 이제 설정사항을 몇가지 살펴 봅시다. ____________________________________________________________ # The following options will be passed to all MySQL clients [client] #password = your_p...</summary>
	<content type="html">&lt;table width=&quot;100%&quot; cellpadding=&quot;5&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td height=&quot;200&quot; class=&quot;bbs&quot; valign=&quot;top&quot;&gt;&lt;span id=&quot;writeContents&quot; style=&quot;line-height: 160%; font-size: 12px;&quot;&gt;mysql 서버 설치 후 my.cnf 파일 수정에 대해 몇자 적는다. &lt;br /&gt;필자도 그랬지만 mysql 설치 후 &lt;br /&gt;# cp support-files/my-medium.cnf /etc/my.cnf &amp;lt;==이렇게 달랑 한다음 손을 놓은 적이 많다. &lt;br /&gt;my.cnf는 mysql의 옵션 파일이라고 보면된다. &lt;br /&gt;이제 설정사항을 몇가지 살펴 봅시다. &lt;br /&gt;&lt;br /&gt; ____________________________________________________________ &lt;br /&gt; # The following options will be passed to all MySQL clients &lt;br /&gt; [client] &lt;br /&gt; #password = your_password &lt;br /&gt; port = 3306 &lt;br /&gt; socket = /tmp/mysql.sock &lt;br /&gt;&lt;br /&gt; # Here follows entries for some specific programs &lt;br /&gt;&lt;br /&gt; # The MySQL server &lt;br /&gt; [mysqld] &lt;br /&gt; port = 3306 &lt;br /&gt; socket = /tmp/mysql.sock &lt;br /&gt; skip-locking &lt;br /&gt; set-variable = key_buffer=16M &lt;br /&gt; set-variable = max_allowed_packet=1M &lt;br /&gt; set-variable = table_cache=64 &lt;br /&gt; set-variable = sort_buffer=512K &lt;br /&gt; set-variable = net_buffer_length=8K &lt;br /&gt;set-variable = myisam_sort_buffer_size=8M &lt;br /&gt; log-bin &lt;br /&gt; server-id = 1 &lt;br /&gt;&lt;br /&gt; # Point the following paths to different dedicated disks &lt;br /&gt;#tmpdir = /tmp/ &lt;br /&gt; #log-update = /path-to-dedicated-directory/hostname &lt;br /&gt;&lt;br /&gt; # Uncomment the following if you are using BDB tables &lt;br /&gt;#set-variable = bdb_cache_size=4M &lt;br /&gt; #set-variable = bdb_max_lock=10000 &lt;br /&gt;&lt;br /&gt; # Uncomment the following if you are using InnoDB tables &lt;br /&gt; #innodb_data_home_dir = /home/mysql/ &lt;br /&gt; #innodb_data_file_path = ibdata1:10M:autoextend &lt;br /&gt; #innodb_log_group_home_dir = /home/mysql/ &lt;br /&gt; #innodb_log_arch_dir = /home/mysql/ &lt;br /&gt; # You can set .._buffer_pool_size up to 50 - 80 % &lt;br /&gt; # of RAM but beware of setting memory usage too high &lt;br /&gt; #set-variable = innodb_buffer_pool_size=16M &lt;br /&gt; #set-variable = innodb_additional_mem_pool_size=2M &lt;br /&gt; # Set .._log_file_size to 25 % of buffer pool size &lt;br /&gt; #set-variable = innodb_log_file_size=5M &lt;br /&gt; #set-variable = innodb_log_buffer_size=8M &lt;br /&gt; #innodb_flush_log_at_trx_commit=1 &lt;br /&gt; #set-variable = innodb_lock_wait_timeout=50 &lt;br /&gt;&lt;br /&gt; [mysqldump] &lt;br /&gt; quick &lt;br /&gt; set-variable = max_allowed_packet=16M &lt;br /&gt;&lt;br /&gt; [mysql] &lt;br /&gt; no-auto-rehash &lt;br /&gt; # Remove the next comment character if you are not familiar with SQL &lt;br /&gt; #safe-updates &lt;br /&gt;&lt;br /&gt; [isamchk] &lt;br /&gt; set-variable = key_buffer=20M &lt;br /&gt; set-variable = sort_buffer=20M &lt;br /&gt; set-variable = read_buffer=2M &lt;br /&gt; set-variable = write_buffer=2M &lt;br /&gt;&lt;br /&gt; [myisamchk] &lt;br /&gt; set-variable = key_buffer=20M &lt;br /&gt; set-variable = sort_buffer=20M &lt;br /&gt; set-variable = read_buffer=2M &lt;br /&gt; set-variable = write_buffer=2M &lt;br /&gt;&lt;br /&gt; [mysqlhotcopy] &lt;br /&gt; interactive-timeout &lt;br /&gt;&lt;br /&gt; ____________________________________________________________ &lt;br /&gt;&lt;br /&gt;위 파일을 조금 수정하자..^^; &lt;br /&gt; [mysqld] 아래에 다음을 추가 &lt;br /&gt;set-variable = max_connections=1000 &amp;lt;==기본이 100 &lt;br /&gt; set-variable = wait_timeout=90 &amp;lt;==기본이 28800(?) &lt;br /&gt; set-variable = max_connect_errors=1000 &amp;lt;==기본이 10 [연결초과가 이 수치 이상 초과하면 db연결이 블락된다] &lt;br /&gt;&lt;br /&gt;이정도 설정만으로도 접속과도로인한 실패나 연결갯수 초과로 인한 디비블락은 어느 정도 해결할 수 있을것 같다.. &lt;br /&gt;설정 저장후 mysql shutdown 과 시작명령을 내린 후 설정사항이 잘 변경 됐는지 확인한다. &lt;br /&gt; ^^&lt;/span&gt; &lt;!-- 테러 태그 방지용 --&gt; &lt;a href=&quot;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;&quot;&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;!-- 테러 태그 방지용 --&gt; &lt;a href=&quot;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;&quot;&gt;&lt;/a&gt; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;hr width=&quot;100%&quot; height=&quot;1&quot; /&gt;&lt;b&gt;관련글&lt;/b&gt; : &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://iegate.net/bbs/board.php?bo_table=plus03&amp;amp;wr_id=307&quot;&gt;삭제한 mysql DB 복구방법&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://iegate.net/bbs/board.php?bo_table=plus03&amp;amp;wr_id=295&quot;&gt;mysql between 쿼리 사용방법&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://iegate.net/bbs/board.php?bo_table=plus03&amp;amp;wr_id=287&quot;&gt;yum으로 apm 설치하기 centos, fedora&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://iegate.net/bbs/board.php?bo_table=plus03&amp;amp;wr_id=285&quot;&gt;MySql에서 replace 함수 쓰기&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://iegate.net/bbs/board.php?bo_table=plus03&amp;amp;wr_id=284&quot;&gt;mysql_fetch_row와 mysql_fetch_array의 차이&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://iegate.net/bbs/board.php?bo_table=plus03&amp;amp;wr_id=279&quot;&gt;SQL 서버 관리자가 알아야 할 11가지 유용한 팁&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://iegate.net/bbs/board.php?bo_table=plus03&amp;amp;wr_id=278&quot;&gt;MySQL Database 언어코드 수정하기&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://iegate.net/bbs/board.php?bo_table=plus03&amp;amp;wr_id=229&quot;&gt;CentOS 5.x 버전에 최적화 된 APM 설치&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://iegate.net/bbs/board.php?bo_table=plus03&amp;amp;wr_id=187&quot;&gt;서버에 mysql 2개 설치하기&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://iegate.net/bbs/board.php?bo_table=plus03&amp;amp;wr_id=184&quot;&gt;phpMyAdmin 다운로드 및 설치하기&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://iegate.net/bbs/board.php?bo_table=plus03&amp;amp;wr_id=66&quot;&gt;http://iegate.net/bbs/board.php?bo_table=plus03&amp;amp;wr_id=66&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content>		<category term="MySQL"/><category term="my.cnf"/><category term="파일"/><category term="수정"/><category term="mysql"/><category term="서버"/><category term="튜닝하기"/>	</entry><entry>
		<title>MySQL에 원격 접속 허용</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/51192"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/51192#comment"/>		<id>https://adminid.kr/mysql/51192</id>
		<published>2014-07-06T15:31:26+00:00</published>
		<updated>2015-05-20T09:33:51+00:00</updated>
		<author>
			<name>JAESOO</name>
		</author>
		<summary type="text">MySQL 외부 접속 허용 설정 MySQL에 원격 접속 허용하기 MySQL에 root 원격 접속 허용하기 목차 [숨기기] 1 개요2 확인3 변경4 원복5 같이 보기6 주석개요MySQL을 설치하면 기본적으로 로컬(localhost)에서만 접속이 가능하고 외부에서는 접속이 불가능하게 되어 있다. 외부에서 접속해보면 다음과 같은 오류 메시지가 나온다.[1] Host &#039;135.79.246.80&#039; is not allowed to connect to this MySQL server Toad for MySQL과 같은 DB ...</summary>
	<content type="html">&lt;div class=&quot;mw-content-ltr&quot; id=&quot;mw-content-text&quot; lang=&quot;ko&quot; dir=&quot;ltr&quot;&gt;&lt;dl&gt;&lt;dt&gt;MySQL 외부 접속 허용 설정 &lt;/dt&gt;&lt;dt&gt;MySQL에 원격 접속 허용하기 &lt;/dt&gt;&lt;dt&gt;MySQL에 root 원격 접속 허용하기 &lt;/dt&gt;&lt;/dl&gt;&lt;table class=&quot;toc&quot; id=&quot;toc&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;div id=&quot;toctitle&quot;&gt;&lt;h2&gt;목차&lt;/h2&gt;&lt;span class=&quot;toctoggle&quot;&gt;&amp;nbsp;[&lt;a class=&quot;internal&quot; id=&quot;togglelink&quot; href=&quot;http://jmnote.com/wiki/MySQL%EC%97%90_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9#&quot;&gt;숨기기&lt;/a&gt;]&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li class=&quot;toclevel-1 tocsection-1&quot;&gt;&lt;a href=&quot;http://jmnote.com/wiki/MySQL%EC%97%90_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9#.EA.B0.9C.EC.9A.94&quot;&gt;&lt;span class=&quot;tocnumber&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;toctext&quot;&gt;개요&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;toclevel-1 tocsection-2&quot;&gt;&lt;a href=&quot;http://jmnote.com/wiki/MySQL%EC%97%90_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9#.ED.99.95.EC.9D.B8&quot;&gt;&lt;span class=&quot;tocnumber&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;toctext&quot;&gt;확인&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;toclevel-1 tocsection-3&quot;&gt;&lt;a href=&quot;http://jmnote.com/wiki/MySQL%EC%97%90_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9#.EB.B3.80.EA.B2.BD&quot;&gt;&lt;span class=&quot;tocnumber&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;toctext&quot;&gt;변경&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;toclevel-1 tocsection-4&quot;&gt;&lt;a href=&quot;http://jmnote.com/wiki/MySQL%EC%97%90_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9#.EC.9B.90.EB.B3.B5&quot;&gt;&lt;span class=&quot;tocnumber&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;toctext&quot;&gt;원복&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;toclevel-1 tocsection-5&quot;&gt;&lt;a href=&quot;http://jmnote.com/wiki/MySQL%EC%97%90_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9#.EA.B0.99.EC.9D.B4_.EB.B3.B4.EA.B8.B0&quot;&gt;&lt;span class=&quot;tocnumber&quot;&gt;5&lt;/span&gt; &lt;span class=&quot;toctext&quot;&gt;같이 보기&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;toclevel-1 tocsection-6&quot;&gt;&lt;a href=&quot;http://jmnote.com/wiki/MySQL%EC%97%90_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9#.EC.A3.BC.EC.84.9D&quot;&gt;&lt;span class=&quot;tocnumber&quot;&gt;6&lt;/span&gt; &lt;span class=&quot;toctext&quot;&gt;주석&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h2&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;.EA.B0.9C.EC.9A.94&quot;&gt;개요&lt;/span&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;MySQL을 설치하면 기본적으로 로컬(localhost)에서만 접속이 가능하고 외부에서는 접속이 불가능하게 되어 있다. &lt;/li&gt;&lt;/ul&gt;&lt;dl&gt;&lt;dd&gt;외부에서 접속해보면 다음과 같은 오류 메시지가 나온다.&lt;sup class=&quot;reference&quot; id=&quot;cite_ref-1&quot;&gt;&lt;a href=&quot;http://jmnote.com/wiki/MySQL%EC%97%90_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9#cite_note-1&quot;&gt;&lt;font size=&quot;2&quot;&gt;[1]&lt;/font&gt;&lt;/a&gt;&lt;/sup&gt; &lt;/dd&gt;&lt;/dl&gt;&lt;div class=&quot;mw-geshi mw-code mw-content-ltr&quot; dir=&quot;ltr&quot;&gt;&lt;div class=&quot;text source-text&quot;&gt;&lt;pre class=&quot;de1&quot;&gt;Host &#039;135.79.246.80&#039; is not allowed to connect to this MySQL server&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;a title=&quot;Toad for MySQL&quot; href=&quot;http://jmnote.com/wiki/Toad_for_MySQL&quot;&gt;Toad for MySQL&lt;/a&gt;과 같은 DB 관리 도구를 사용하여 DB에 원격으로 접속하려면 허용해주는 로컬 작업이 필요하다. &lt;/li&gt;&lt;li&gt;여기서는 root를 원격에서 접속할 수 있도록 설정한다. 이것을 응용하면 다른 계정에도 적용할 수 있다. &lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;.ED.99.95.EC.9D.B8&quot;&gt;확인&lt;/span&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;아래 쿼리를 날려보면 localhost가 나온다. &lt;/li&gt;&lt;li&gt;즉 root 계정으로는 로컬에서만 접속가능하다. &lt;/li&gt;&lt;li&gt;(같은 방법으로 root 대신 다른 사용자명도 조회할 수 있다.) &lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;mw-geshi mw-code mw-content-ltr&quot; dir=&quot;ltr&quot;&gt;&lt;div class=&quot;sql source-sql&quot;&gt;&lt;pre class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;SELECT&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; Host &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;FROM&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; mysql&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;.&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;user&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;WHERE&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;user&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;=&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;root&#039;&lt;/font&gt;&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;.EB.B3.80.EA.B2.BD&quot;&gt;변경&lt;/span&gt;&lt;/h2&gt;&lt;dl&gt;&lt;dt&gt;모든 IP 허용&lt;sup class=&quot;reference&quot; id=&quot;cite_ref-2&quot;&gt;&lt;a href=&quot;http://jmnote.com/wiki/MySQL%EC%97%90_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9#cite_note-2&quot;&gt;&lt;font size=&quot;2&quot;&gt;[2]&lt;/font&gt;&lt;/a&gt;&lt;/sup&gt; &lt;/dt&gt;&lt;/dl&gt;&lt;div class=&quot;mw-geshi mw-code mw-content-ltr&quot; dir=&quot;ltr&quot;&gt;&lt;div class=&quot;sql source-sql&quot;&gt;&lt;pre class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;INSERT&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;INTO&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; mysql&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;.&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;user&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;(&lt;/font&gt;&lt;/span&gt;host&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;,&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;user&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;,&lt;/font&gt;&lt;/span&gt;password&lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;)&lt;/font&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;VALUES&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;%&#039;&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;,&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;root&#039;&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;,&lt;/font&gt;&lt;/span&gt;password&lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;패스워드&#039;&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;)&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;)&lt;/font&gt;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;GRANT&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;ALL&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; PRIVILEGES &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;ON&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;*.*&lt;/font&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;TO&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;root&#039;&lt;/font&gt;&lt;/span&gt;@&lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;%&#039;&lt;/font&gt;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;FLUSH&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; PRIVILEGES;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;dl&gt;&lt;dt&gt;IP 대역 허용 &lt;/dt&gt;&lt;/dl&gt;&lt;ul&gt;&lt;li&gt;다음과 같이 설정하면 111.222로 시작하는 모든 IP가 허용된다. &lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;mw-geshi mw-code mw-content-ltr&quot; dir=&quot;ltr&quot;&gt;&lt;div class=&quot;sql source-sql&quot;&gt;&lt;pre class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;INSERT&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;INTO&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; mysql&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;.&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;user&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;(&lt;/font&gt;&lt;/span&gt;host&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;,&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;user&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;,&lt;/font&gt;&lt;/span&gt;password&lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;)&lt;/font&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;VALUES&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;111.222.%&#039;&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;,&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;root&#039;&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;,&lt;/font&gt;&lt;/span&gt;password&lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;패스워드&#039;&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;)&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;)&lt;/font&gt;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;GRANT&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;ALL&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; PRIVILEGES &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;ON&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;*.*&lt;/font&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;TO&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;root&#039;&lt;/font&gt;&lt;/span&gt;@&lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;111.222.%&#039;&lt;/font&gt;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;FLUSH&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; PRIVILEGES;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;dl&gt;&lt;dt&gt;특정 IP 1개 허용 &lt;/dt&gt;&lt;/dl&gt;&lt;div class=&quot;mw-geshi mw-code mw-content-ltr&quot; dir=&quot;ltr&quot;&gt;&lt;div class=&quot;sql source-sql&quot;&gt;&lt;pre class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;INSERT&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;INTO&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; mysql&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;.&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;user&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;(&lt;/font&gt;&lt;/span&gt;host&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;,&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;user&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;,&lt;/font&gt;&lt;/span&gt;password&lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;)&lt;/font&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;VALUES&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;111.222.33.44&#039;&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;,&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;root&#039;&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;,&lt;/font&gt;&lt;/span&gt;password&lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;(&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;패스워드&#039;&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;)&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;)&lt;/font&gt;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;GRANT&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;ALL&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; PRIVILEGES &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;ON&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;*.*&lt;/font&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;TO&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;root&#039;&lt;/font&gt;&lt;/span&gt;@&lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;111.222.33.44&#039;&lt;/font&gt;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;FLUSH&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; PRIVILEGES;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;.EC.9B.90.EB.B3.B5&quot;&gt;원복&lt;/span&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;모든 IP를 허용한 경우 다음과 같이 원래 상태로 복구할 수 있다. &lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;mw-geshi mw-code mw-content-ltr&quot; dir=&quot;ltr&quot;&gt;&lt;div class=&quot;sql source-sql&quot;&gt;&lt;pre class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;DELETE&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;FROM&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; mysql&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;.&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;user&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;WHERE&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; Host&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;=&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;%&#039;&lt;/font&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;AND&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;User&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&lt;font color=&quot;#66cc66&quot;&gt;=&lt;/font&gt;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&lt;font color=&quot;#ff0000&quot;&gt;&#039;root&#039;&lt;/font&gt;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#993333&quot;&gt;FLUSH&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; PRIVILEGES;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;.EA.B0.99.EC.9D.B4_.EB.B3.B4.EA.B8.B0&quot;&gt;같이 보기&lt;/span&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a title=&quot;Toad for MySQL&quot; href=&quot;http://jmnote.com/wiki/Toad_for_MySQL&quot;&gt;Toad for MySQL&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a title=&quot;MySQL root 패스워드 초기화&quot; class=&quot;mw-redirect&quot; href=&quot;http://jmnote.com/wiki/MySQL_root_%ED%8C%A8%EC%8A%A4%EC%9B%8C%EB%93%9C_%EC%B4%88%EA%B8%B0%ED%99%94&quot;&gt;MySQL root 패스워드 초기화&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a title=&quot;MySQL 읽기전용 계정 생성&quot; class=&quot;mw-redirect&quot; href=&quot;http://jmnote.com/wiki/MySQL_%EC%9D%BD%EA%B8%B0%EC%A0%84%EC%9A%A9_%EA%B3%84%EC%A0%95_%EC%83%9D%EC%84%B1&quot;&gt;MySQL 읽기전용 계정 생성&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a title=&quot;MySQL 원격 접속&quot; href=&quot;http://jmnote.com/wiki/MySQL_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D&quot;&gt;MySQL 원격 접속&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a title=&quot;MySQL SSH 터널링&quot; href=&quot;http://jmnote.com/wiki/MySQL_SSH_%ED%84%B0%EB%84%90%EB%A7%81&quot;&gt;MySQL SSH 터널링&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a title=&quot;로컬호스트&quot; class=&quot;mw-redirect&quot; href=&quot;http://jmnote.com/wiki/%EB%A1%9C%EC%BB%AC%ED%98%B8%EC%8A%A4%ED%8A%B8&quot;&gt;로컬호스트&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;.EC.A3.BC.EC.84.9D&quot;&gt;주석&lt;/span&gt;&lt;/h2&gt;&lt;ol class=&quot;references&quot;&gt;&lt;li id=&quot;cite_note-1&quot;&gt;&lt;span class=&quot;mw-cite-backlink&quot;&gt;&lt;a href=&quot;http://jmnote.com/wiki/MySQL%EC%97%90_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9#cite_ref-1&quot;&gt;↑&lt;/a&gt;&lt;/span&gt; &lt;span class=&quot;reference-text&quot;&gt;물론 방화벽이 뚫린 경우겠지?&lt;/span&gt; &lt;/li&gt;&lt;li id=&quot;cite_note-2&quot;&gt;&lt;span class=&quot;mw-cite-backlink&quot;&gt;&lt;a href=&quot;http://jmnote.com/wiki/MySQL%EC%97%90_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9#cite_ref-2&quot;&gt;↑&lt;/a&gt;&lt;/span&gt; &lt;span class=&quot;reference-text&quot;&gt;참고로&amp;nbsp;%은 모든 아이피를 포함하지만, localhost는 포함되지 않는다.&lt;/span&gt; &lt;/li&gt;&lt;/ol&gt;&lt;!-- Tidy found serious XHTML errors --&gt; &lt;!-- NewPP limit report Preprocessor visited node count: 121/1000000 Preprocessor generated node count: 310/1000000 Post‐expand include size: 0/2097152 bytes Template argument size: 0/2097152 bytes Highest expansion depth: 3/40 Expensive parser function count: 0/100 --&gt; &lt;!-- Saved in parser cache with key jmnote-nt_:pcache:idhash:212-0!*!0!!ko!*!* and timestamp 20140522132516 --&gt; &lt;/div&gt;&lt;p&gt;&lt;!-- /bodycontent --&gt; &lt;!-- printfooter --&gt; &lt;/p&gt; &lt;div class=&quot;printfooter&quot;&gt;원본 주소 &quot;&lt;a href=&quot;http://jmnote.com/w/index.php?title=MySQL에_원격_접속_허용&amp;amp;oldid=59553&quot;&gt;http://jmnote.com/w/index.php?title=MySQL에_원격_접속_허용&amp;amp;oldid=59553&lt;/a&gt;&quot; &lt;/div&gt;&lt;p&gt;&lt;!-- /printfooter --&gt; &lt;!-- catlinks --&gt; &lt;/p&gt; &lt;div class=&quot;catlinks&quot; id=&quot;catlinks&quot;&gt;&lt;div class=&quot;mw-normal-catlinks&quot; id=&quot;mw-normal-catlinks&quot;&gt;&lt;a title=&quot;특수기능:분류&quot; href=&quot;http://jmnote.com/wiki/%ED%8A%B9%EC%88%98%EA%B8%B0%EB%8A%A5:%EB%B6%84%EB%A5%98&quot;&gt;분류&lt;/a&gt;: &lt;ul&gt;&lt;li&gt;&lt;a title=&quot;분류:MySQL&quot; href=&quot;http://jmnote.com/wiki/%EB%B6%84%EB%A5%98:MySQL&quot;&gt;MySQL&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://jmnote.com/wiki/MySQL%EC%97%90_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9&quot;&gt;http://jmnote.com/wiki/MySQL%EC%97%90_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content>		<category term="MySQL"/><category term="원격"/><category term="접속"/><category term="허용"/>	</entry><entry>
		<title>mysql에서 (테이블명) is marked as crashed and should be repaired 에러시</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/49091"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/49091#comment"/>		<id>https://adminid.kr/mysql/49091</id>
		<published>2014-01-23T08:37:59+00:00</published>
		<updated>2014-01-23T08:37:59+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">첫번째 디비를 백업해 둔다 1. 테이블 복구 repair table 테이블명 2. 테이블 수정 myisamchk -r 테이블명 3. 에러 테이블이 중요하지 않은 것이면 삭제 후 새로 테이블을 만든다 출처 : http://www.jnetwork.co.kr/bbs/board.php?bo_table=useguide&amp;wr_id=115&amp;sca=DB</summary>
	<content type="html">&lt;div&gt;첫번째 디비를 백업해 둔다&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&lt;/div&gt; &lt;div&gt;&lt;/div&gt; &lt;div&gt;1. 테이블 복구 &lt;/div&gt; &lt;div&gt;repair table 테이블명&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&lt;/div&gt; &lt;div&gt;2. 테이블 수정 &lt;/div&gt;myisamchk -r 테이블명 &lt;div&gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;3. 에러 테이블이 중요하지 않은 것이면 삭제 후 새로 테이블을 만든다&lt;/div&gt; &lt;p&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;--&gt;&lt;!-- jnetwork --&gt;&lt;!--&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display:inline-block;width:728px;height:90px&quot; data-ad-client=&quot;ca-pub-7338976045112904&quot; data-ad-slot=&quot;4991692079&quot;&gt; &lt;script&gt; (adsbygoogle = window.adsbygoogle || []).push({}); &lt;/script&gt;--&gt;&lt;br /&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://www.jnetwork.co.kr/bbs/board.php?bo_table=useguide&amp;amp;wr_id=115&amp;amp;sca=DB&quot;&gt;http://www.jnetwork.co.kr/bbs/board.php?bo_table=useguide&amp;amp;wr_id=115&amp;amp;sca=DB&lt;/a&gt;&lt;/p&gt;</content>		<category term="mysql"/><category term="테이블명"/><category term="is marked as crashed and should be repaired"/><category term="에러"/>	</entry><entry>
		<title>왜 MySQL 에서 InnoDB 를 써야하는가? InnoDB vs MyISAM 비교</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/14947"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/14947#comment"/>		<id>https://adminid.kr/mysql/14947</id>
		<published>2013-04-11T19:35:34+00:00</published>
		<updated>2013-04-11T19:36:06+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">by kth MIS팀 성동찬 ( DBA ) Overview MySQL에서는 MyISAM, InnoDB, Archive 등과 같은 훌륭한 엔진을 제공합니다. 목적에 맞게 적절(?)하게 사용을 한다면, 기타 고 비용 상용 DBMS 부럽지 않게 DB를 구성할 수 있습니다. 물론 적절이라는 말이 세상에서 가장 난해한 단어겠지만요.^^ 사실 OLTP 성 서비스에는 대부분 innodb위주로 설정을 해왔기에, 특별하게 MyISAM 영역에 대해서는 신경을 쓰지 않았습니다. 단순하게 해당 스토...</summary>
	<content type="html">&lt;h3&gt;by kth MIS팀 성동찬 ( DBA )&lt;/h3&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h1&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;/h1&gt; &lt;p&gt;MySQL에서는 MyISAM, InnoDB, Archive 등과 같은&amp;nbsp;훌륭한 엔진을 제공합니다. &amp;nbsp;목적에 맞게 적절(?)하게 사용을 한다면, 기타 고 비용 상용 DBMS 부럽지 않게 DB를 구성할 수 있습니다. 물론 적절이라는 말이 세상에서 가장 난해한 단어겠지만요.^^&lt;/p&gt; &lt;p&gt;사실 OLTP 성 서비스에는 대부분 innodb위주로 설정을 해왔기에, 특별하게 MyISAM 영역에 대해서는 신경을 쓰지 않았습니다. 단순하게 해당 스토리지 엔진의 특성만 기억하고 있었지, OLTP 성격의 서비스에 굳이 투입하고 싶지도 않았고요. 하지만 얼마전 공간 인덱스(R-Tree)에 관한 요구사항이 발생하여 어쩔 수 없이 MyISAM 위주로 구성을 한 Case가 있습니다. 그래서 MyISAM 스토리지 엔진에 관한 간단한 BMT를 진행하였고, 결과에 관해서 공유드리고자 합니다.&lt;/p&gt; &lt;h1&gt;&lt;strong&gt;Feature&lt;/strong&gt;&lt;/h1&gt; &lt;p&gt;MyISAM과 InnoDB를 간단하게 비교한 표입니다. Geospatial 기능과 Full-text Search 기능을 제외하고 눈여겨 보셔야 할 부분은 트랜잭션, Locking Level, Data caches 등 세가지 입니다. 이 세가지 특성으로 인하여 특수한 경우(spatial, full-text search)등을 제외한 경우 InnoDB를 선택해야만 하는 이유가 나옵니다.&lt;/p&gt; &lt;p&gt;&lt;img alt=&quot;img013.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/834/032/554102b972dcdcca0cbf90edf3b00752.png&quot; width=&quot;554&quot; height=&quot;389&quot; /&gt; &lt;/p&gt; &lt;p&gt;아직 InnoDB에서는 Compressed 기능 적용 시 테이블 사이즈 변화는 검토해볼 사항이겠군요. Barracuda format을 적용하여 Compressed 적용 시 성능 및 데이터 사이즈 변화에 관한 내용은 조만간 비교해서 공유드리겠습니다.^^&lt;/p&gt; &lt;h1&gt;&lt;strong&gt;MyISAM Benchmark&lt;/strong&gt;&lt;/h1&gt; &lt;p&gt;&amp;lt;&amp;nbsp;&lt;strong&gt;시스템&amp;gt;&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;CPU&lt;br /&gt;4-core : Intel(R) Xeon(R) CPU E5405 &amp;nbsp;@ 2.00GHz&lt;br /&gt;8-core : Intel(R) Xeon(R) CPU L5520 &amp;nbsp;@ 2.27GHz &lt;li&gt;Memory : 8G &lt;li&gt;DISK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&lt;br /&gt;Raid-1 for OS&lt;br /&gt;Raid-1 for DATA (I/O성능은 좋지 못하다고 보면 됨) &lt;li&gt;MySQL verstion : mysql &amp;nbsp;Ver 14.14 Distrib 5.1.57 &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&amp;lt;Benchmark&amp;gt;&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Sysbench-0.4.12 tool사용 &lt;li&gt;MyISAM 1000만 건 데이터 생성 후 Read-only/Complex Test 수행 &lt;li&gt;4-core/8-core/key_cache_block_size 변경 후 테스트 &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&amp;lt;Query Cache on/off READ TEST result&amp;gt;&lt;br /&gt;&lt;/strong&gt;사용 유무에 따라서 2배 성능 차이가 발생합니다.&lt;br /&gt;두 경우 모두 5개 Thread이상에서는 더이상 성능 향상이 발생하지 않습니다.&lt;br /&gt;&lt;strong&gt;&lt;img alt=&quot;img021.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/834/032/3862d6067fa469d81830caa6fc37b505.png&quot; width=&quot;485&quot; height=&quot;251&quot; /&gt; &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;strong&gt;&amp;lt;Key Block Size 변경 READ TEST result&amp;gt;&lt;br /&gt;&lt;/strong&gt;&lt;/strong&gt;key_cache_block_size를 OS와 동일하게 구성한 결과 15% 성능 향상되었습니다.&lt;br /&gt;두 경우 모두 5개 Thread이상에서는 더이상 성능 향상이 발생하지 않습니다.&lt;br /&gt;&lt;img alt=&quot;img031.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/834/032/ceece5540d2b91e82ac8111b2667e0d6.png&quot; width=&quot;485&quot; height=&quot;253&quot; /&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;strong&gt;&amp;lt;CPU core 개수 변화에 따른 READ TEST result&amp;gt;&lt;br /&gt;&lt;/strong&gt;&lt;/strong&gt;8-core가 2배 정도 성능이 좋게 나오나, 장비가 다르므로 큰 의미는 없습니다.&lt;br /&gt;다만 4-core는 5-Thread에서, 8-core는 10-thread 이상에서는 성능에 변동이 없는 것을 확인할 수 있네요.&lt;br /&gt;&lt;span style=&quot;FONT-SIZE: 26px; FONT-WEIGHT: bold&quot;&gt;&lt;strong&gt;&lt;img alt=&quot;img041.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/834/032/c37d745f114a934aa938768802f1900c.png&quot; width=&quot;485&quot; height=&quot;250&quot; /&gt; &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;strong&gt;&amp;lt;&lt;strong&gt;&lt;strong&gt;Key Block Size 변경에 따른 &lt;/strong&gt;&lt;/strong&gt;READ/WRITE TEST result&amp;gt;&lt;br /&gt;&lt;/strong&gt;&lt;/strong&gt;key_cache_block_size를 OS와 동일하게 구성한 결과 15% 성능 향상되었습니다.&lt;br /&gt;5개 Thread이상에서는 더이상 성능 향상이 없습니다.&lt;br /&gt;&lt;img alt=&quot;img05.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/834/032/9d0ac78a863bd7c572c5de30939d0421.png&quot; width=&quot;485&quot; height=&quot;250&quot; /&gt; &lt;/p&gt; &lt;p sizset=&quot;false&quot; sizcache06414048961172355=&quot;10 23 104&quot;&gt;&lt;strong&gt;&lt;strong&gt;&amp;lt;CPU core 개수 변화에 따른 READ/WRITE TEST result&amp;gt;&lt;br /&gt;&lt;/strong&gt;&lt;/strong&gt;8-core가 성능이 훨씬 좋은 것으로 나오나, 장비가 다르므로 큰 의미는 없습니다.&lt;br /&gt;4-core, 8-core 모두 5-thread 이상에서 성능상 큰 변동은 없군요.&lt;br /&gt;&lt;a class=&quot;cboxElement&quot; href=&quot;img061.png&quot; sizset=&quot;true&quot; sizcache06414048961172355=&quot;7.436563656918089 7 3&quot;&gt;&lt;img alt=&quot;img061.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/834/032/c1ae21236ed4d2d54088f5f9e1088db5.png&quot; width=&quot;485&quot; height=&quot;249&quot; /&gt; &lt;/a&gt;&lt;/p&gt; &lt;p&gt;다음은 MySQL에서 최근 발표한 MyISAM vs InnoDB 성능 테스트 BMT결과입니다.&amp;nbsp;MySQL 5.5 Version부터 innodb를 default-storage-engine으로 적용하면서 비교 분석한 자료네요. 이 자료를 보면 왜 OLTP환경에서는 InnoDB 를 채택하는 것이 좋은지를 아주 명확하게 알려줍니다. Core가 많을 수록 InnoDB성능은 비례하게 올라가는 반면, MyISAM은 그대로 유지합니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p sizset=&quot;false&quot; sizcache06414048961172355=&quot;10 23 105&quot;&gt;&lt;a class=&quot;cboxElement&quot; href=&quot;img07.png&quot; sizset=&quot;true&quot; sizcache06414048961172355=&quot;7.436563656918089 7 4&quot;&gt;&lt;img style=&quot;WIDTH: 507px; HEIGHT: 308px&quot; alt=&quot;img07.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/834/032/c5b4fd7d527763116f8439003ee0f9b0.png&quot; width=&quot;507&quot; height=&quot;308&quot; /&gt; &lt;/a&gt;&lt;/p&gt; &lt;p sizset=&quot;false&quot; sizcache06414048961172355=&quot;10 23 106&quot;&gt;&lt;a class=&quot;cboxElement&quot; href=&quot;img08.png&quot; sizset=&quot;true&quot; sizcache06414048961172355=&quot;7.436563656918089 7 5&quot;&gt;&lt;img style=&quot;WIDTH: 508px; HEIGHT: 307px&quot; alt=&quot;img08.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/834/032/2c22e9e5b02413fd278e4eefd09471e3.png&quot; width=&quot;508&quot; height=&quot;307&quot; /&gt; &lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;FONT-SIZE: 26px; FONT-WEIGHT: bold&quot;&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;h1&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/h1&gt; &lt;p&gt;일정 동시 요청 건 수(5~10 Thread) 이상으로는 더이상 성능 향상이 없는 것을 확인할 수 있습니다. &lt;span style=&quot;BACKGROUND-COLOR: #ffff00; COLOR: #000000; FONT-SIZE: 120%; FONT-WEIGHT: bold&quot;&gt;&lt;font size=&quot;5&quot;&gt;&lt;span style=&quot;FONT-SIZE: 12px&quot;&gt;이는 MyISAM이 Table-level Lock으로 데이터&lt;/span&gt; &lt;/font&gt;&lt;/span&gt;DML을 처리하고, Data를 직접 DISK에서 읽어오는 것에서 발생하는 한계점이라고 판단이 듭니다.&lt;/p&gt; &lt;p&gt;따로 내용을 정리하지는 않았었지만, Key Cache 사이즈 변화에 따른 성능 변화도 테스트해 보았습니다. 그 결과 인덱스 총 사이즈보다 Key Cache 사이즈가 크게 설정되어 있으면 성능상 변화는 거의 없었습니다. 인덱스 또한 MyISAM은 인덱스 압축 기법을 통하여 사이즈를 최소화하기 때문에 굳이 Key Cache사이즈를 4G 이상으로 할당하는 것은 큰 의미가 없겠습니다.&lt;/p&gt; &lt;p&gt;결국 MyISAM을 사용 시 고비용의 고스펙 장비는 필요없다는 결과가 나왔습니다. CPU/Memory 부분보다는 오히려 &lt;span style=&quot;TEXT-DECORATION: underline&quot;&gt;&lt;strong&gt;DISK 성능을 향상시키는 것이 성능상 큰 효과&lt;/strong&gt;&lt;/span&gt;를 거둘 수 있겠습니다. (Random I/O가 좋은 SSD라면 상당한 효과를 거두겠습니다.) &lt;span style=&quot;TEXT-DECORATION: underline&quot;&gt;&lt;strong&gt;메모리는 OS Cache를 고려하여 6G~8G, CPU는 최대 8-core까지만 사용&lt;/strong&gt;&lt;/span&gt;하는 것이 낫다고 생각합니다. 그리고 &lt;span style=&quot;TEXT-DECORATION: underline&quot;&gt;&lt;strong&gt;key cache block size는 OS 사이즈를 확인 후 동일하게 유지&lt;/strong&gt;&lt;/span&gt;하는 것을 권고드립니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://dev.kthcorp.com/2011/06/17/why-we-need-to-use-innodb-on-mysql-vs-myisam-comparison/&quot;&gt;http://dev.kthcorp.com/2011/06/17/why-we-need-to-use-innodb-on-mysql-vs-myisam-comparison/&lt;/a&gt;&lt;/p&gt;</content>		<category term="DB"/><category term="InnoDB"/><category term="MyISAM"/><category term="MySQL"/>	</entry><entry>
		<title>[MySQL] phpMyAdmin으로 MyISAM 테이블 형식을 InnoDB로 바꾸기</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/14586"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/14586#comment"/>		<id>https://adminid.kr/mysql/14586</id>
		<published>2013-03-18T23:33:35+00:00</published>
		<updated>2013-03-18T23:33:35+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">MySQL DB의 MyISAM 테이블을 InnoDB 테이블로 바꾸는 명령으로 흔히 다음 명령어가 알려져 있다. alter table 테이블_이름 engine=InnoDB; 그런데 이 단순히 명령만 내려 테이블 형식을 바꾸면, 실제로 운영하는 게시판이나 블로그 도구의 처리 속도가 오히려 떨어져서 그대로 두느니만 못할 때도 생긴다. 단순환 변환 명령보다는 테이블을 새로 만드는 과정을 거쳐야 뒤탈이 적다. phpMyAdmin을 쓸 수 있다면, 다음 과정을 거쳐서 ...</summary>
	<content type="html">&lt;p&gt;MySQL DB의 MyISAM 테이블을 InnoDB 테이블로 바꾸는 명령으로 흔히 다음 명령어가 알려져 있다.&lt;/p&gt; &lt;div class=&quot;textbox&quot;&gt;alter table 테이블_이름 engine=InnoDB;&lt;/div&gt; &lt;p&gt;&amp;nbsp; 그런데 이 단순히 명령만 내려 테이블 형식을 바꾸면, 실제로 운영하는 게시판이나 블로그 도구의 처리 속도가 오히려 떨어져서 그대로 두느니만 못할 때도 생긴다. 단순환 변환 명령보다는 테이블을 새로 만드는 과정을 거쳐야 뒤탈이 적다.&lt;/p&gt; &lt;p&gt;&amp;nbsp; phpMyAdmin을 쓸 수 있다면, 다음 과정을 거쳐서 MyISAM 테이블을 InnoDB 형식으로 바꿀 수 있다.&lt;/p&gt; &lt;div class=&quot;textbox&quot;&gt; &lt;ul&gt; &lt;li&gt;phpMyAdmin에서 InnoDB로 바꿀 MyISAM 테이블을 골라 SQL 파일로 내보낸다(export). &lt;li&gt;받은 SQL 파일을 문서 편집기로 열어서 문자열 모두 바꾸기 기능으로 &#039;ENGINE=MyISAM&#039;을 &#039;ENGINE=InnoDB&#039;로 바꾸고 저장한다. &lt;li&gt;다시 phpMyAdmin에서 파일로 내보냈던 테이블을 지우고(drop), 고친 SQL 파일을 불러온다(import).&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp; &lt;a href=&quot;http://pat.im/388&quot; target=&quot;_blank&quot;&gt;phpMyAdmin으로 백업하고 복구하는 작업&lt;/a&gt;에 SQL 파일을 편집하는 과정이 끼어 들어갔다고 보면 맞다.&lt;/p&gt; &lt;p&gt;&amp;nbsp; SQL 파일이 너무 크다면, zip이나 gz 방식으로 압축하여 받고 올릴 수 있다. 이전판의 MySQL에서 운영하다가 내보낸 SQL 파일에는 &#039;ENGINE=MyISAM&#039;이 아니라 &#039;type=MyISAM&#039;이라고 적혀 있을 수 있는데, &#039;type&#039;을 &#039;engine&#039;으로 바꾸어 적어야 MySQL &lt;del&gt;5.5&lt;/del&gt; 5.1이상에서 쓸 때에 오류를 만나지 않는다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://pat.im/1003&quot;&gt;http://pat.im/1003&lt;/a&gt;&lt;/p&gt;</content>		<category term="alter"/><category term="database"/><category term="DB"/><category term="InnoDB"/><category term="MyISAM"/><category term="MySQL"/><category term="phpMyAdmin"/><category term="SQL"/><category term="TABLE"/><category term="바꾸기"/><category term="변환"/><category term="자료기지"/><category term="테이블"/>	</entry><entry>
		<title>MySQL 테이블 형태 변경하기 MyISAM -&gt; InnoDB(또는 InnoDB -&gt; MyISAM)</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/14579"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/14579#comment"/>		<id>https://adminid.kr/mysql/14579</id>
		<published>2013-03-18T23:31:52+00:00</published>
		<updated>2013-03-19T08:46:24+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">MySQL에서 테이블을 사용하는 목적에 따라서 테이블 형태을 지정하게 된다. 처음 테이블 설계시 데이터의 입력(insert)보다는 데이터의 조회(select)가 더 많기 때문에 테이블 형태를 MyISAM 형식으로 지정했지만, 프로그램을 제작하는 과정에서 트랜잭션을 사용하기 위해서 InnoDB 형식이 필요하였다. 그래서 기존에 있던 테이블 형태를 MyISAM에서 InnoDB로 변경하였다. 변경하기 위한 쿼리는 다음과 같다. ALTER TABLE tableName...</summary>
	<content type="html">&lt;p&gt;MySQL에서 테이블을 사용하는 목적에 따라서 테이블 형태을 지정하게 된다. 처음 테이블 설계시 데이터의 입력(insert)보다는 데이터의 조회(select)가 더 많기 때문에 테이블 형태를 MyISAM 형식으로 지정했지만, 프로그램을 제작하는 과정에서 트랜잭션을 사용하기 위해서 InnoDB 형식이 필요하였다. 그래서 기존에 있던 테이블 형태를 MyISAM에서 InnoDB로 변경하였다. 변경하기 위한 쿼리는 다음과 같다.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;ALTER TABLE tableName &lt;span style=&quot;COLOR: rgb(255,0,0)&quot;&gt;ENGINE=&#039;MyISAM&#039;&lt;/span&gt;; &lt;span style=&quot;COLOR: rgb(0,128,0)&quot;&gt;-- 테이블 형태를 MyISAM으로 변경&lt;/span&gt;&lt;br /&gt;ALTER TABLE tableName &lt;span style=&quot;COLOR: rgb(255,0,0)&quot;&gt;ENGINE=&#039;InnoDB&#039;&lt;/span&gt;; &lt;span style=&quot;COLOR: rgb(0,128,0)&quot;&gt;-- 테이블 형태를 InnoDB로 변경&lt;/span&gt;&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;참고로 해당 테이블을 만들때 쿼리를 알기 위해서는 &lt;span style=&quot;COLOR: rgb(255,0,0)&quot;&gt;show create table&lt;/span&gt; 문을 사용한다.&lt;/p&gt; &lt;blockquote&gt;show create table tableName; &lt;span style=&quot;COLOR: rgb(0,128,0)&quot;&gt;-- 해당 테이블을 생성하는 쿼리문을 보여줌&lt;/span&gt;&lt;/blockquote&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://linfree.com/index.php?mid=computer_linux&amp;amp;page=4&amp;amp;document_srl=592&quot;&gt;http://linfree.com/index.php?mid=computer_linux&amp;amp;page=4&amp;amp;document_srl=592&lt;/a&gt;&lt;/p&gt;</content>		<category term="MySQL"/><category term="InnoDB"/><category term="MyISAM"/>	</entry><entry>
		<title>MySQL database 정보 import하기</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/14528"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/14528#comment"/>		<id>https://adminid.kr/mysql/14528</id>
		<published>2013-03-12T22:19:44+00:00</published>
		<updated>2013-03-12T22:19:44+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">MySQL에 data를 import하는 방법은 &quot;Install &amp; Configure&quot;에 자세히 설명되어 있습니다. 여기서는 import하는 방법들에 대해서 알아보도록 하겠습니다. SQL문을 이용한 import 방법 - Database 전체를 import하는 방법은 다음과 같습니다. database 전체를 import할 경우 반드시 해당 database가 생성되어 있어야 합니다. mysql -uuser_id -ppassword dbname &lt; sql_file ex) Windows : C:mysqlbin&gt; mysql -utest -ptest testdb &lt; te...</summary>
	<content type="html">MySQL에 data를 import하는 방법은 &quot;Install &amp;amp; Configure&quot;에 자세히 설명되어 있습니다. 여기서는 import하는 방법들에 대해서 알아보도록 하겠습니다. &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size=&quot;4&quot;&gt;SQL문을 이용한 import 방법&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;-&amp;nbsp;Database 전체를 import하는 방법은 다음과 같습니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp; database 전체를 import할 경우 반드시 해당 database가 생성되어&amp;nbsp;있어야 합니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;strong&gt;mysql -u&lt;em&gt;user_id&lt;/em&gt; -p&lt;em&gt;password&lt;/em&gt; &lt;em&gt;dbname&lt;/em&gt; &amp;lt; &lt;em&gt;sql_file&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp; ex) Windows : C:mysqlbin&amp;gt; mysql -utest -ptest testdb &amp;lt; test.sql&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Linux&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : # mysql -utest -ptest testdb &amp;lt; test.sql&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; MySQL에 생성되어 있는 &quot;testdb&quot;라는 database에 test.sql file에 정의된 형식으&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 로 table 및 data를 import하라는 명령입니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;-&amp;nbsp;특정 table정보를&amp;nbsp;import하는 방법은 다음과 같습니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp; table 정보를&amp;nbsp;import할 경우 해당 database에는 동일한 table name이 없어야 합니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;strong&gt;mysql -u&lt;em&gt;user_id&lt;/em&gt; -p&lt;em&gt;password&lt;/em&gt; &lt;em&gt;dbname&lt;/em&gt; &amp;lt; &lt;em&gt;sql_file&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp; ex) Windows : C:mysqlbin&amp;gt; mysql -utest -ptest testdb &amp;lt; test.sql&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Linux&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : # mysql -utest -ptest testdb &amp;lt; test.sql&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; MySQL에 생성되어 있는 &quot;testdb&quot;라는 database에 test.sql file에 정의된 table을 &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 생성하고, 포함된 data를&amp;nbsp;import하라는 명령입니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;-&amp;nbsp;전체 database를 import 하는 방법과 특정 table만을 import하는 명령이 동일하므로 혼란&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp; 을 가져올 수가 있으나, 구별하는 방법은 오로지 dump 받은 file에 달려 있으므로 관리자&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp; 는 해당 file 정보에 대해 숙지하고 있어야 합니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size=&quot;4&quot;&gt;Text로 저장된 data를&amp;nbsp;import하는 방법&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;- Text file의 내용을 database에 import할 경우 mysqlimport라는&amp;nbsp;utility를 사용합니다.&amp;nbsp;예&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp; 를 들어서 엑셀에서 작업한 10,000개의 데이터를 mysql에 저장시키려면, 엑셀에서 저장&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp; 할 때 각각 쉘 구분을 &quot;;&quot;나 &quot;|&quot; 으로 하고 텍스트 형식으로 저장합니다.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;-&amp;nbsp;MySQL에 저장시키기 위해서는 미리 저장하기 위한 테이블이 생성되어 있어야 합니다. 그&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp; 리고 사용자 권한에 파일데이터를 데이터베이스에 입력할 수 있는 권한이 있어야 합니다. &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp; 그러나 일반 사용자에게는 보통 파일데이터를 직접 입력할 수 있는 권한을 주지 않으므로 &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp; 루트 권한으로 하는 것이 좋습니다. 부득이할 경우 사용자에게 파일데이터를 직접 입력할 &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp; 수 있는 권한을 주면 됩니다. mysql데이터베이스에서 user 테이블의 사용자에게 &quot;Fi&lt;/font&gt;&lt;font size=&quot;2&quot;&gt;le_ &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp; priv&quot; 권한을 &quot;Y&quot; 로 주면 됩니다.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;-&amp;nbsp;사용방법은 다음과 같습니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;strong&gt;mysqlimport -u&lt;em&gt;user_id&lt;/em&gt; -p&lt;em&gt;password&lt;/em&gt; --fields-terminated-by=&lt;em&gt;구분자&lt;/em&gt; &lt;em&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp;dbname&lt;/em&gt; &lt;em&gt;table_name text_file&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp; ex) Windows : C:mysqlbin&amp;gt; mysqlimport -utest -ptest --fields-terminated-by=; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; testdb test test.txt&lt;/font&gt;&lt;/p&gt; &lt;font size=&quot;2&quot;&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Linux&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : #&amp;nbsp;mysqlimport -utest -ptest --fields-terminated-by=; &lt;/font&gt;&lt;font size=&quot;2&quot;&gt;testdb test &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test.txt&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;gt; testdb &lt;/font&gt;&lt;font size=&quot;2&quot;&gt;데이터베이스의 test라는 테이블에 test.txt 의 내용을 입력합니다. 각 필드&lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 의 구분은 &quot;;&quot;로 한다는 명령입니다.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://tac.softonnet.com/troubleshoot/viewbody.php?code=troubleshoot&amp;amp;page=1&amp;amp;number=26&amp;amp;keyfield=category&amp;amp;key=db&quot;&gt;http://tac.softonnet.com/troubleshoot/viewbody.php?code=troubleshoot&amp;amp;page=1&amp;amp;number=26&amp;amp;keyfield=category&amp;amp;key=db&lt;/a&gt;&lt;/p&gt;</content>			</entry><entry>
		<title>윈도우환경에서 MySQL 설치하기</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/14500"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/14500#comment"/>		<id>https://adminid.kr/mysql/14500</id>
		<published>2013-03-12T22:07:25+00:00</published>
		<updated>2013-03-12T22:07:25+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">이번 포스팅에서는 윈도우 환경에서의 MySQL 설치 과정에 대해서 소개해 보겠습니다. 오라클이 MySQL을 인수한 후로 MySQL에도 많은 변화가 있어왔습니다. 5.1버전까지만 설치해서 사용해 보았었는데 5.5. 버전에서는 설치 단계가 획기적으로 변경이 되었더군요. 그래서 한번 소개해 보겠습니다. MySQL의 다운로드 MySQL은 http://www.mysql.com/downloads에서 다운로드 받을 수 있습니다. 해당 사이트에 접속하면 아래와 같은 화면...</summary>
	<content type="html">&lt;p&gt;이번 포스팅에서는 윈도우 환경에서의 MySQL 설치 과정에 대해서 소개해 보겠습니다.&lt;br /&gt;오라클이 MySQL을 인수한 후로 MySQL에도 많은 변화가 있어왔습니다. 5.1버전까지만 설치해서 사용해 보았었는데 5.5. 버전에서는 설치 단계가 획기적으로 변경이 되었더군요.&lt;br /&gt;그래서 한번 소개해 보겠습니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;h1&gt;MySQL의 다운로드&lt;/h1&gt; &lt;p&gt;MySQL은 &lt;a href=&quot;http://www.mysql.com/downloads&quot; target=&quot;_blank&quot;&gt;http://www.mysql.com/downloads&lt;/a&gt;에서 다운로드 받을 수 있습니다. 해당 사이트에 접속하면 아래와 같은 화면이 나옵니다. 화면 중앙에 보이는 큼지막한 다운로드 버튼을 클릭하여 다운로드 페이지로 이동합니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile23.uf.tistory.com/original/174D8B3C4F1E70C12CDDD4&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-01.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/fdffc5adb714e898d558667af3cb3d3e.png&quot; width=&quot;1024&quot; height=&quot;575&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;페이지를 이동하고 나면 화면 중앙부에 윈도우 버전에 맞는 다운로드 버튼이 제공됩니다. 이 버튼을 클릭하여 설치 패키지 파일을 다운로드 받기 위해서 페이지를 이동합니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile23.uf.tistory.com/original/204D8B3C4F1E70C32D606D&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-02.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/77197d635dcfaa4a270edb14e57599f9.png&quot; width=&quot;1024&quot; height=&quot;575&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MySQL사이트에 로그인하라는 인증 화면이 나타납니다. 하지만 스크롤을 더 내려보면 인증창 아래 로그인 없이 다운로드만 받겠다는 텍스트 링크가 있습니다. 이 링크를 통하여 MySQL을 가입이나 로그인 절차 없이 바로 다운로드 받을 수 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile29.uf.tistory.com/original/124D8B3C4F1E70C42E6482&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-03.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/fd3982617d5ecafc82372f6f2e4380b9.png&quot; width=&quot;1024&quot; height=&quot;575&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;설치 패키지 파일을 다운로드 받기 위한 링크가 제공됩니다. 아래 화면을 참고하여서 설치 패키지를 다운로드 받습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile8.uf.tistory.com/original/144D8B3C4F1E70C52FA365&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-04.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/ad4bc020b249556f87c45eb45c05d5a3.png&quot; width=&quot;1024&quot; height=&quot;575&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt; &lt;h1&gt;MySQL의 설치&lt;/h1&gt; &lt;p&gt;다운로드 받은 설치 패키지를 실행하면 Windows Installer가 실행되면서 MySQL의 설치를 시작합니다. 설치 과정이 이전보다 더 세련되게 바뀌어서 무척 마음에 들었었습니다.&lt;br /&gt;설치 페이지의 첫 화면에서 세개의 메뉴가 제공되는데 &lt;b&gt;Install MySQL Products&lt;/b&gt;항목을 선택하여 설치를 시작합니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile25.uf.tistory.com/original/134D8B3C4F1E70C530CB55&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-05.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/8ace88da300f906fb76283a849d02b0a.png&quot; width=&quot;805&quot; height=&quot;603&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;이용약관에 동의합시다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile2.uf.tistory.com/original/154D8B3C4F1E70C63147F3&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-06.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/d1f874c144e766645acd36e7155e7126.png&quot; width=&quot;805&quot; height=&quot;603&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;현재 설치 버전보다 높은 최신 버전을 온라인상에서 검색하는 페이지가 나타납니다. 조금전에 mysql.com에서 최신파일을 다운로드 받은 상태이기 때문에 여기서는 화면 하단부의 &lt;b&gt;&quot;Skip&quot;&lt;/b&gt;체크박스를 체크하고 &lt;b&gt;&quot;Next&quot;&lt;/b&gt;버튼을 눌러서 이 단계를 건너뛰었습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile2.uf.tistory.com/original/174D8B3C4F1E70C7321D3E&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-07.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/ae83418f579a6475b58ba8017516b134.png&quot; width=&quot;805&quot; height=&quot;603&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;span style=&quot;WIDTH: 1px; FLOAT: right; HEIGHT: 1px&quot; id=&quot;callbacknesthoyanetpekr19433752&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;설치 형태를 결정하는 화면입니다. 대부분 MySQL을 로컬PC에 설치하는 이유는 어떠한 플랫폼 기반으로 개발을 진행하면서 연동을 테스트하기 위함일 겁니다. 개발자를 위한 기본 환경이 구성되는 &lt;b&gt;&quot;Developer Default&quot;&lt;/b&gt;항목을 선택하고 &lt;b&gt;&quot;Next&quot;&lt;/b&gt;를 누릅니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile22.uf.tistory.com/original/184D8B3C4F1E70C73351DF&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-08.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/67554f043b0c5080343151e4b4a06ff0.png&quot; width=&quot;805&quot; height=&quot;603&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;설치하는데 필요한 구성요소가 있는지를 검사하여서 없다면 MySQL설치 전에 먼저 설치하는 화면입니다. 화면 중앙에 나오는 항목들이 모두 체크가 되어 있다면 MySQL 설치에 필요한 구성요소가 모두 설치되어 있는 경우 입니다. 그런 경우에는 가볍게 &lt;b&gt;&quot;Next&quot;&lt;/b&gt;버튼을 누르면 다음단계로 넘어갑니다.&lt;br /&gt;&lt;br /&gt;만약 아래 화면처럼 하나 이상의 항목이 체크가 되지 않은 상태라면 &quot;Next&quot;버튼을 누르면 개별적인 구성요소가 설치됩니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile23.uf.tistory.com/original/194D8B3C4F1E70C734AAB5&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-09.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/be35ebebd71a8c3920c8ad416417dcd7.png&quot; width=&quot;805&quot; height=&quot;603&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;개별 구성요소가 설치되고 나면 아래와 같이 모든 항목이 체크된 상태로 변경됩니다. &quot;Next&quot;를 눌러서 다음 단계로 넘어갑니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile2.uf.tistory.com/original/114D8B3C4F1E70C83562D7&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-10.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/baeb8896da55a26b05f06a86b0a74ea1.png&quot; width=&quot;805&quot; height=&quot;603&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;설치될 MySQL 구성요소들을 보여줍니다. &quot;Next&quot;를 누르면 실제 설치 과정이 진행됩니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile27.uf.tistory.com/original/124D8B3C4F1E70C8367E79&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-11.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/ab74302cd2e30494871616500ad0095e.png&quot; width=&quot;805&quot; height=&quot;603&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;설치를 설치설치~!!&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile30.uf.tistory.com/original/144D8B3C4F1E70C937C742&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-12.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/eb4ee65b6a5d12e35c0264a3ba127cd7.png&quot; width=&quot;805&quot; height=&quot;603&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;설치가 완료되면 비활성 상태였던 &lt;b&gt;&quot;Next&quot;&lt;/b&gt;버튼이 활성화 됩니다. 이 버튼을 눌러서 다음 단계로 이동합시다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile8.uf.tistory.com/original/154D8B3C4F1E70C9389EB3&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-13.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/952b338a9dd8915663e5292d960d9446.png&quot; width=&quot;805&quot; height=&quot;603&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;기본적인 설치는 끝이 났으니 기본 환경설정을 진행하겠다는 화면입니다. 여기서도 가볍게 &lt;b&gt;&quot;Next&quot;&lt;/b&gt;를 눌러 줍니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile3.uf.tistory.com/original/144D8B3C4F1E70CA393F3B&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-14.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/13e8fad0d7203f652b003df9de04e0ec.png&quot; width=&quot;805&quot; height=&quot;603&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MySQL을 어떤 환경에서 구동할 것인지를 물어봅니다. 앞에서도 이야기 했듯이 여기서는 개발에 필요한 요소로서 설치하는 것입니다. 당연히 &lt;b&gt;&quot;Developer Machine&quot;&lt;/b&gt;을 선택하고 &lt;b&gt;&quot;Next&quot;&lt;/b&gt;를 누릅니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile6.uf.tistory.com/original/124D8B3C4F1E70CA3A300A&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-15.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/78cbc2d9f23fea09cab78b712fdd2d8e.png&quot; width=&quot;805&quot; height=&quot;603&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;가장 중요한 MySQL 기본 환경 설정입니다. 기본적으로 TCP/IP 포트번호가 3306으로 지정되어 있는것을 확인할 수 있습니다. 또한 백그라운드에서 항상 실행할 수 있도록 Windows Service에 등록하는 옵션도 지정되어 있습니다.&lt;br /&gt;&lt;br /&gt;이 두가지 옵션은 기본값대로 두고, 그 밑에 있는 MySQL의 관리자 계정인 root의 초기 비밀번호를 지정해 준 후에 &lt;b&gt;&quot;Next&quot;&lt;/b&gt;를 누릅니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile29.uf.tistory.com/original/144D8B3C4F1E70CB3BFBAD&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-16.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/b8fd11e5bf677eb5541ddfdd7987a6a8.png&quot; width=&quot;805&quot; height=&quot;603&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;환경설정이 진행됩니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile27.uf.tistory.com/original/154D8B3C4F1E70CB3C99A1&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-17.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/1656c4c2a321d59fc627b1dec02141d0.png&quot; width=&quot;805&quot; height=&quot;603&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;샘플과 예제들을 설치할지 결정하는 화면입니다. 가볍게 &lt;b&gt;&quot;Next&quot;&lt;/b&gt;를 누릅시다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile25.uf.tistory.com/original/174D8B3C4F1E70CC3D7218&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-18.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/599585bcd58894593ce3fe5a967001c6.png&quot; width=&quot;805&quot; height=&quot;603&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;설치가 완료되면 아래와 같은 화면이 나타납니다. &lt;b&gt;&quot;Start MySQL workbench after Setup&quot;&lt;/b&gt;항목을 체크한 후에 &lt;b&gt;&quot;Finish&quot;&lt;/b&gt;를 누르면 MySQL Installer가 종료된 후에 쿼리문을 작성하고 테이블이나 DB관리를 GUI 형태로 진행할 수 있는 기본 프로그램이 실행됩니다.&lt;br /&gt;&lt;br /&gt;이전 버전에서는 포함되어 있지 않던 기능인데 5.5부터 지원하는가 봅니다. MySQL의 최신버전을 설치하면서 가장 놀랐던 부분이 여기였습니다.&lt;br /&gt;&lt;br /&gt;MySQL workbench의 사용법은 나중에 한번 다루어 보겠습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile21.uf.tistory.com/original/184D8B3C4F1E70CC3E6D87&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-19.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/b3d105722873139fabf13f78a3ecbfa9.png&quot; width=&quot;805&quot; height=&quot;603&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt; &lt;h1&gt;환경변수의 지정&lt;/h1&gt; &lt;p&gt;MySQL workbench의 추가로 인해서 기존에 사용하던 커멘드 환경에서의 MySQL 접속은 이제 필요가 없어졌습니다만, 혹시라도 프롬프트상에서 접속이 필요한 경우를 대비해서 MySQL의 bin 디렉토리를 window 환경변수에 추가하겠습니다.&lt;br /&gt;&lt;br /&gt;내 컴퓨터를 마우스 우클릭하여 맨 아래 있는 &lt;b&gt;&quot;속성&quot;&lt;/b&gt;메뉴를 누릅니다. Windows7 환경에서는 아래와 같은 화면이 나타납니다. 왼쪽 메뉴에서 &lt;b&gt;&quot;고급 시스템 설정&quot;&lt;/b&gt;을 선택합니다.&lt;br /&gt;&lt;br /&gt;XP에서 실행하는 경우 내 컴퓨터의 &lt;b&gt;&quot;속성&quot;&lt;/b&gt;메뉴를 클릭한 후 다음 단계로 바로 이동합니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile8.uf.tistory.com/original/204D8B3C4F1E70CD3FFC61&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-20.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/68ba99e1305bce1b20eb17edd88c8129.png&quot; width=&quot;800&quot; height=&quot;600&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;시스템 속성창에서 &lt;b&gt;&quot;고급&quot;&lt;/b&gt;탭으로 이동하여 화면 하단부에 있는 &lt;b&gt;&quot;환경변수&quot;&lt;/b&gt;버튼을 누릅니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile23.uf.tistory.com/original/194D8B3C4F1E70CD40A5EE&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-21.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/bafc59e31b85d1278aa62988195e08bc.png&quot; width=&quot;493&quot; height=&quot;442&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;화면이 아래와 같이 나타나는데, 아래쪽에 있는 &lt;b&gt;&quot;시스템 변수&quot;&lt;/b&gt;항목에서 &lt;b&gt;Path&lt;/b&gt;값을 찾아서 &lt;b&gt;&quot;편집&quot;&lt;/b&gt;버튼을 누릅니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile9.uf.tistory.com/original/204D8B3C4F1E70CD41F080&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-22.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/f169b7cc5c07649da0d92e325e1fb11d.png&quot; width=&quot;457&quot; height=&quot;406&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;시스템 변수값은 하나의 이름에 여러개의 값이 지정될 수 있습니다. 값이 여러개가 지정될 때 각 값의 구분은 세미콜론(;)으로 처리합니다.&lt;br /&gt;&lt;br /&gt;기존의 값들과 구분하기 위해서 &lt;b&gt;&quot;변수 값&quot;&lt;/b&gt;항목에 마우스 커서를 놓고 키보드의 End키를 눌러서 세미콜론(;)을 하나 추가합시다. 그 뒤에 MySQL이 설치된 경로의 bin 디렉토리를 입력합니다. (가급적 윈도우 탐색기에서 경로를 복사해서 넣으세요.)&lt;br /&gt;&lt;span style=&quot;FONT-SIZE: 12pt&quot;&gt;&lt;span style=&quot;FONT-FAMILY: &#039;Courier New&#039;&quot;&gt;&lt;/p&gt; &lt;blockquote&gt;C:Program FilesMySQLMySQL Server 5.5bin&lt;/blockquote&gt; &lt;p&gt;&lt;br /&gt;&amp;nbsp; &lt;div style=&quot;DISPLAY: inline&quot; class=&quot;imageblock&quot;&gt;&lt;span dir=&quot;http://cfile6.uf.tistory.com/original/114D8B3C4F1E70CD425617&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;win-mysql-23.png&quot; src=&quot;http://jaesoo.com/files/attach/images/73/395/031/036db322a0aee3489bfd487591ee8b1e.png&quot; width=&quot;413&quot; height=&quot;136&quot; /&gt; &lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font size=&quot;3&quot; face=&quot;굴림&quot;&gt;이제 열려있는 모든 창을 확인 버튼을 눌러서 닫습니다.&lt;br /&gt;&lt;br /&gt;MySQL의 설치가 끝났습니다.&lt;br /&gt;&lt;br /&gt;이제... 즐깁시다~!!!&lt;/font&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://hoyanet.pe.kr/1943&quot;&gt;http://hoyanet.pe.kr/1943&lt;/a&gt;&lt;/p&gt;</content>		<category term="MySQL"/><category term="설치"/>	</entry><entry>
		<title>mysqlcheck 유틸리티 사용법(analyze, optimize, repair)</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/12067"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/12067#comment"/>		<id>https://adminid.kr/mysql/12067</id>
		<published>2012-06-04T15:44:36+00:00</published>
		<updated>2012-06-04T15:44:36+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">mysqlcheck 유틸리티 사용법 cost 베이스 DB에서 DB전체를 한번에 analyze, optimize, repair 하기 위한 유틸리티 입니다. 파일위치 : mysql/bin ---------------------------------------------------- 전체 체크 및 자동 복구 mysqlcheck -Aa --auto-repair -u root -p mysqlcheck -Ao --auto-repair -u root -p ---------------------------------------------------- -A, --all-databases -a, --analyze -o, --optimize -P 포트...</summary>
	<content type="html">&lt;p&gt;mysqlcheck 유틸리티 사용법&lt;br /&gt;cost 베이스 DB에서 DB전체를 한번에 analyze, optimize, repair 하기 위한 유틸리티 입니다.&lt;br /&gt;파일위치 : mysql/bin&lt;br /&gt;----------------------------------------------------&lt;br /&gt;전체 체크 및 자동 복구&lt;br /&gt;mysqlcheck -Aa --auto-repair -u root -p&lt;br /&gt;mysqlcheck -Ao --auto-repair -u root -p&lt;br /&gt;----------------------------------------------------&lt;br /&gt;-A, --all-databases&lt;br /&gt;-a, --analyze&lt;br /&gt;-o, --optimize&lt;br /&gt;-P 포트번호&lt;br /&gt;----------------------------------------------------&lt;br /&gt;특정 데이터베이스만 체크 및 자동 복구&lt;br /&gt;mysqlcheck --auto-repair -u root -p 데이터베이스명&lt;br /&gt;----------------------------------------------------&lt;br /&gt;특정 테이블만 체크 및 자동 복구&lt;br /&gt;mysqlcheck --auto-repair -u root -p 데이터베이스명 테이블명&lt;br /&gt;----------------------------------------------------&lt;br /&gt;명령어 수정하여 사용하기&lt;br /&gt;mysqlrepair = mysqlcheck --repair&lt;br /&gt;mysqlanalyze = mysqlcheck --analyze&lt;br /&gt;mysqloptimize = mysqlcheck --optimize&lt;br /&gt;----------------------------------------------------&lt;br /&gt;mysql에 접속하여 개별적으로 하는 방법&lt;br /&gt;mysql&amp;gt; use 데이터베이스명;&lt;br /&gt;mysql&amp;gt; show tables;&lt;br /&gt;mysql&amp;gt; check table 테이블명;&lt;br /&gt;mysql&amp;gt; repair table 테이블명;&lt;br /&gt;mysql&amp;gt; analyze table 테이블명;&lt;br /&gt;mysql&amp;gt; optimize table 테이블명;&lt;br /&gt;----------------------------------------------------&lt;br /&gt;##########################&lt;br /&gt;OPTIMIZED table script PHP&lt;br /&gt;##########################&lt;br /&gt;$db = &#039;database_name&#039;;&lt;br /&gt;$tables = mysql_list_tables($db);&lt;br /&gt;while (list($table)name) = mysql_fetch_array($tables)) {&lt;br /&gt;$sql = &quot;OPTIMIZE TABLE $table_name&quot;;&lt;br /&gt;mysql_query($sql) or exit(mysql_error());&lt;br /&gt;}&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://www.oszone.co.kr/?q=node/312&quot;&gt;http://www.oszone.co.kr/?q=node/312&lt;/a&gt;&lt;/p&gt;</content>			</entry><entry>
		<title>MySQL Plugin &#039;InnoDB&#039; init function returned error.</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/11550"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/11550#comment"/>		<id>https://adminid.kr/mysql/11550</id>
		<published>2011-11-14T19:16:06+00:00</published>
		<updated>2011-11-14T19:16:06+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">For Windows OS: OK, I struggled with this for ages. There are various partial fixes that did not fix it for me on the web, but in the end the following worked: If you&#039;ve installed it, then uninstall (an earlier version that had been removed could have left crap that is causing an issue, so best to start off clean). Do this as follows: - Add/Remove Programs and remove MySQL. - Delete the Programs Fi...</summary>
	<content type="html">&lt;p&gt;For Windows OS: &lt;br /&gt;&lt;br /&gt;OK, I struggled with this for ages. There are various partial fixes that did not fix it for me on the web, but in the end the following worked: &lt;br /&gt;&lt;br /&gt;If you&#039;ve installed it, then uninstall (an earlier version that had been removed could have left crap that is causing an issue, so best to start off clean). Do this as follows: &lt;br /&gt;- Add/Remove Programs and remove MySQL. &lt;br /&gt;- Delete the Programs File/MySQL folder (it gets left behind) &lt;br /&gt;- Delete the data file (where ever you stored it) #:MySQL DataFiles &amp;gt; This is assuming you have no data to as yet to worry about!!!! &lt;br /&gt;- Run RegEdit and delete all the MySQL Keys (search and F3) and the half a dozen or so CLSIDs that coe up with just a single non-defailt key for MySQL. You can leave ADOBE keys that mention it if you have dreamweaver etc. As allways back up you registry first before choppig it! &lt;br /&gt;&lt;br /&gt;OK. Now run te install and go through the config wizard until it fails at the start up. Then close it. &lt;br /&gt;&lt;br /&gt;Now open up Services and open MySQL properties - I set it to run under the Administrator account rather than System/ANOther to ensure it had permissions. &lt;br /&gt;&lt;br /&gt;Next, go to your new MySQL DataFile and delete &#039;ibdata1&#039;. &lt;br /&gt;Then go to &#039;C:Documents and SettingsAll UsersApplication DataMySQLMySQL Server 5.1data&#039; and delete all tje &#039;ib_logfile&#039; prefixed files (should be 0 and 1) - useful to notice the .err log here to which is a text file. &lt;br /&gt;&lt;br /&gt;Then go back to Services and manually start it and all should be fine. &lt;br /&gt;&lt;br /&gt;Hopefully I have saved you a few hourse peeing around with Windows - MySQL Devs, about time this bug was fixed eh? Been hanging around a long while now and the web is chok full of unanswered or half answered requests for help. Remember - some of us have no choice but to use Windows.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://forums.mysql.com/read.php?22,144428,250105#msg-250105&quot;&gt;http://forums.mysql.com/read.php?22,144428,250105#msg-250105&lt;/a&gt;&lt;/p&gt;</content>			</entry><entry>
		<title>MySQL Data file 위치</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/11549"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/11549#comment"/>		<id>https://adminid.kr/mysql/11549</id>
		<published>2011-11-14T19:15:11+00:00</published>
		<updated>2011-11-14T19:15:11+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">아래 경로에 각 Database별 테이블 별 데이터 파일이 있다. %AllUsersProfile%Application DataMySQLMySQL Server 5.1data 출처 : http://xyz37.blog.me/50083088388</summary>
	<content type="html">&lt;p&gt;아래 경로에 각 Database별 테이블 별&amp;nbsp;데이터 파일이 있다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;blockquote style=&quot;MARGIN: 14px 15px 20px; WIDTH: 100%&quot; class=&quot;vview_quote01&quot;&gt; &lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;100%&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style=&quot;WIDTH: 2px; FONT-FAMILY: 957317_9; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: 9pt&quot;&gt;&lt;/td&gt; &lt;td style=&quot;PADDING-BOTTOM: 0px; LINE-HEIGHT: 1.2; PADDING-LEFT: 9px; PADDING-RIGHT: 0px; FONT-FAMILY: 957317_9; COLOR: #444444; FONT-SIZE: 9pt; PADDING-TOP: 1px&quot;&gt;&lt;!--quote_txt--&gt;%AllUsersProfile%Application DataMySQLMySQL Server 5.1data&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/blockquote&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;출처 : &lt;a class=&quot;fil5 pcol2&quot; href=&quot;http://xyz37.blog.me/50083088388&quot; target=&quot;_top&quot;&gt;http://xyz37.blog.me/50083088388&lt;/a&gt; &lt;/p&gt; &lt;div class=&quot;clear blank5&quot;&gt;&lt;/div&gt; &lt;p class=&quot;post_option&quot;&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: none&quot; id=&quot;sendPost_from_service_50083088388&quot; class=&quot;post-sub ptr&quot;&gt; &lt;p&gt;&lt;span id=&quot;sendPost_from_service_H_50083088388&quot; class=&quot;pcol2&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</content>			</entry><entry>
		<title>MySQL 재설치시 오류</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/11548"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/11548#comment"/>		<id>https://adminid.kr/mysql/11548</id>
		<published>2011-11-14T19:14:18+00:00</published>
		<updated>2011-11-14T19:14:18+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">MySQL 재설치시 설치 완료 후 Instance Configuration Wizard 실행 시 down되는 증상과 함께 아래와 같은 에러가 이벤트 로그에 남을때 여러번 재설치를 해봐도 안되었다. 결국 구글링을 통해서(http://forums.mysql.com/read.php?22,144428,250105#msg-250105) 데이터 베이스 파일 위치에서 INNODB를 제거 한 뒤 재설치를 했다. Plugin &#039;InnoDB&#039; init function returned error. Plugin &#039;InnoDB&#039; registration as a STORAGE ENGINE ...</summary>
	<content type="html">&lt;p&gt;MySQL 재설치시 설치 완료&amp;nbsp;후&lt;/p&gt; &lt;p&gt;Instance Configuration Wizard 실행 시 down되는 증상과 함께&lt;/p&gt; &lt;p&gt;아래와 같은 에러가 이벤트 로그에 남을때 여러번 재설치를 해봐도 안되었다.&lt;/p&gt; &lt;p&gt;결국 구글링을 통해서(&lt;a class=&quot;con_link&quot; href=&quot;http://forums.mysql.com/read.php?22,144428,250105#msg-250105&quot; target=&quot;_blank&quot;&gt;http://forums.mysql.com/read.php?22,144428,250105#msg-250105&lt;/a&gt;)&lt;/p&gt; &lt;p&gt;&lt;a class=&quot;con_link&quot; href=&quot;http://blog.naver.com/xyz37/50083088388&quot; target=&quot;_blank&quot;&gt;데이터 베이스 파일 위치&lt;/a&gt;에서 INNODB를 제거 한 뒤 재설치를 했다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt; &lt;blockquote style=&quot;MARGIN: 14px 15px 20px; WIDTH: 100%&quot; class=&quot;vview_quote01&quot;&gt; &lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;100%&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style=&quot;WIDTH: 2px; FONT-FAMILY: 957317_9; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: 9pt&quot;&gt;&lt;/td&gt; &lt;td style=&quot;PADDING-BOTTOM: 0px; LINE-HEIGHT: 1.2; PADDING-LEFT: 9px; PADDING-RIGHT: 0px; FONT-FAMILY: 957317_9; COLOR: #444444; FONT-SIZE: 9pt; PADDING-TOP: 1px&quot;&gt;&lt;!--quote_txt--&gt; &lt;p&gt;Plugin &#039;InnoDB&#039; init function returned error.&lt;/p&gt; &lt;p&gt;Plugin &#039;InnoDB&#039; registration as a STORAGE ENGINE failed.&lt;/p&gt; &lt;p&gt;Unknown/unsupported table type: INNODB&lt;/p&gt; &lt;p&gt;Aborting&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/blockquote&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;출처 : &lt;a class=&quot;fil5 pcol2&quot; href=&quot;http://xyz37.blog.me/50083088557&quot; target=&quot;_top&quot;&gt;http://xyz37.blog.me/50083088557&lt;/a&gt; &lt;/p&gt; &lt;div class=&quot;clear blank5&quot;&gt;&lt;/div&gt; &lt;p class=&quot;post_option&quot;&gt;&lt;/p&gt; &lt;div style=&quot;DISPLAY: none&quot; id=&quot;sendPost_from_service_50083088557&quot; class=&quot;post-sub ptr&quot;&gt; &lt;p&gt;&lt;span id=&quot;sendPost_from_service_H_50083088557&quot; class=&quot;pcol2&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</content>			</entry><entry>
		<title>Mysql DB 손상됬을경우 점검 및 복구 명령</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/11469"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/11469#comment"/>		<id>https://adminid.kr/mysql/11469</id>
		<published>2011-09-15T22:55:19+00:00</published>
		<updated>2011-09-15T22:55:19+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">1. 전체 데이터 베이스 체크및 자동 복구 mysqlcheck -Aao --auto-repair -u root -p 2. 특정 데이터 베이스만 체크 및 자동 복구 mysqlcheck --auto-repair -u root -p [디비명] 테이블 점검 방법 1. 테이블 이상 점검 #/usr/local/mysql/bin/myisamchk /usr/local/mysql/data/365managed/zetyx_member_table.MYI #/usr/local/mysql/bin/myisamchk -c /usr/local/mysql/data/365managed/zetyx_member_table.MYI 2. 테이블점검시 이...</summary>
	<content type="html">&lt;p&gt;1. 전체 데이터 베이스 체크및 자동 복구&lt;br /&gt;mysqlcheck -Aao --auto-repair -u root -p&lt;br /&gt;2. 특정 데이터 베이스만 체크 및 자동 복구&lt;br /&gt;mysqlcheck --auto-repair -u root -p [디비명]&lt;/p&gt; &lt;p&gt;테이블 점검 방법 &lt;/p&gt; &lt;p&gt;1. 테이블 이상 점검 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #/usr/local/mysql/bin/myisamchk&amp;nbsp; /usr/local/mysql/data/365managed/zetyx_member_table.MYI&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #/usr/local/mysql/bin/myisamchk -c /usr/local/mysql/data/365managed/zetyx_member_table.MYI&lt;/p&gt; &lt;p&gt;2. 테이블점검시 이상만 알려주기&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #/usr/local/mysql/bin/myisamchk -s /usr/local/mysql/data/365managed/zetyx_member_table.MYI&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;br /&gt;3. 점검 상세 메세지 출력&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #/usr/local/mysql/bin/myisamchk -v /usr/local/mysql/data/365managed/zetyx_member_table.MYI&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;br /&gt;4. 상세 종합&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #/usr/local/mysql/bin/myisamchk -i /usr/local/mysql/data/365managed/zetyx_member_table.MYI&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;br /&gt;5. 특정 테이블 이상유무 가장 정밀하게 점검&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #/usr/local/mysql/bin/myisamchk -ev /usr/local/mysql/data/365managed/zetyx_member_table.MYI&lt;/p&gt; &lt;p&gt;손상된&amp;nbsp; 테이블 복구 방법&lt;/p&gt; &lt;p&gt;1. 손상된&amp;nbsp; 테이블파일 복구&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #/usr/local/mysql/bin/myisamchk -rv /usr/local/mysql/data/365managed/zetyx_member_table.MYI&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;br /&gt;2. 안전모드 복구(r 옵션으로 복구가 안될떄)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #/usr/local/mysql/bin/myisamchk -o /usr/local/mysql/data/365managed/zetyx_member_table.MYI&lt;br /&gt;&amp;nbsp;&lt;br /&gt;3. 최후의 수단 복구방법&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 테이블 파일이 완전히 깨지거나 완전히 망가진 상태가 아니라면 사용하지말것.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #./myisamchk -re /usr/local/mysql/data/365managed/zetyx_member_table.MYI&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://blog.naver.com/sovlagud/50104991960&quot;&gt;http://blog.naver.com/sovlagud/50104991960&lt;/a&gt;&lt;/p&gt;</content>			</entry><entry>
		<title>[Fedora 8] Mysql 5.0.67 설치</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/11407"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/11407#comment"/>		<id>https://adminid.kr/mysql/11407</id>
		<published>2011-06-16T14:07:47+00:00</published>
		<updated>2011-06-16T14:07:47+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">■ mysql-5.0.67 설치 1. mysql 계정/그룹 생성 # useradd -M -s /bin/false mysql mysql 계정의 홈디렉토리를 만들지 않고 쉘 접속을 허용하지 않도록 생성한다. 2. mysql 설치 다운로드한 mysql-5.0.45.tar.gz 파일을 /usr/local/src로 이동 후 압축을 풀고 설치한다. # cd /usr/local/src # tar zxvf mysql-5.0.67.tar.gz # cd mysql-5.0.67 # CFLAGS=&quot;-03 -mpentiumpro&quot; CXX=gcc CXXFLAGS=&quot;-03 -mpentiumpro -felide-constructor...</summary>
	<content type="html">&lt;p&gt;■ &lt;font size=&quot;3&quot;&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;mysql-5.0.67 설치&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;div class=&quot;usage&quot;&gt;1. mysql 계정/그룹 생성&lt;br /&gt;&lt;/div&gt; &lt;p&gt;# useradd -M -s /bin/false mysql&lt;br /&gt;mysql 계정의 홈디렉토리를 만들지 않고 쉘 접속을 허용하지 않도록 생성한다.&lt;br /&gt;&lt;br /&gt;2. mysql 설치&lt;br /&gt;다운로드한 mysql-5.0.45.tar.gz 파일을 /usr/local/src로 이동 후 압축을 풀고 설치한다.&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;cd /usr/local/src&lt;/span&gt;&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;tar zxvf mysql-5.0.67.tar.gz&lt;/span&gt;&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;cd mysql-5.0.67&lt;br /&gt;&lt;span style=&quot;COLOR: rgb(0,0,0)&quot;&gt;# &lt;font color=&quot;#d41a01&quot;&gt;CFLAGS=&quot;-03 -mpentiumpro&quot; CXX=gcc CXXFLAGS=&quot;-03 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti&quot;&lt;/font&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --enable-assembler --disable-shared --with-extra-charsets=complex --enable-thread-safe-client --with-mysqld-ldflags=-all-static --without-debug --without-docs --without-bench --with-charset=utf8 --with-collation=utf8_general_ci&amp;nbsp; --with-readline&lt;/span&gt;&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;make &amp;amp;&amp;amp; make install&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class=&quot;moreless_fold&quot; id=&quot;more82_0&quot;&gt;&lt;span style=&quot;CURSOR: pointer&quot;&gt;Configure Options more..&lt;/span&gt;&lt;/p&gt; &lt;div class=&quot;moreless_content&quot; id=&quot;content82_0&quot; style=&quot;DISPLAY: none&quot;&gt;--with-big-tables &lt;br /&gt;이 옵션은 mysql 5.0.4이후 대형 테이블 지원하기 위한 것으로 unsigned long 타입을 unsigned long long 타입으로 변환한다.&lt;br /&gt;--with-extra-charsets=LIST&lt;br /&gt;부가적으로 어떤 문자셋을 서버에서 컴파일 할지를 정의한다. LIST에는 스페이스로 구분된 문자셋 이름을 나열하거나, 동적으로 로드할 수 없는 모든 문자셋을 포함하기 위한 complex, 모든 문자셋을 바이너리안에 포함시키기 위한 all 이 들어간다.&lt;br /&gt;&lt;font color=&quot;#d41a01&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;--with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static&lt;br /&gt;정적으로 링크된 프로그램들을 컴파일 하고자 한다면..&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color=&quot;#000000&quot;&gt;--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock &lt;br /&gt;mysql.sock 소켓파일 위치지정&lt;br /&gt;--disable-shared&lt;br /&gt;공유라이브러리에서 libmysqlclient.so.N을 생성하지 않는다. (컴파일러 또는 링커가 공유라이브러리 libmysqlclient.so.N을 생성하지 못하는 에러가 발생한다면 옵션을 추가한다)&lt;/font&gt;&lt;br /&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;strong&gt;※ make 도중 오류 발생&lt;/strong&gt;&lt;br /&gt;&lt;font color=&quot;#0000ff&quot;&gt;&quot;/usr/bin/ld: cannot find -lncurses&quot;&lt;/font&gt;&lt;br /&gt;configure option에서 &quot;--with-client-ldflags=-all-static&quot;를 제거하니깐 된다.. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. DB 생성&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;/usr/local/mysql/bin/mysql_install_db&lt;font color=&quot;#d41a01&quot;&gt; --user=mysql&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;chown -R mysql.mysql /usr/local/mysql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4. mysql 설정파일 복사 (메모리 환경에 따라서 환경설정 파일들을 복사해줍니다.)&lt;br /&gt;my-huge.cnf 1~1G&lt;br /&gt;my-large.cnf 512M&lt;br /&gt;my-medium.cnf 128M~256M&lt;br /&gt;my-small.cnf 64M 이하&lt;br /&gt;위와같이 나와있지만 위 설정은 DB서버 전용으로 했을 때 설정입니다. 기본적으로 my-medium.cnf를 복사한 다음 시스템 환경에 맞게 설정해서 사용하면 됩니다.&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://cbn.springnote.com/images/template/ic_help_s.gif&quot;/&gt; mysql 설정파일 수정(선택사항임)&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;vi /etc/my.cnf&lt;/span&gt;&lt;br /&gt;웹서버와 DB가 같은 서버에서 동작한다면 굳이 mysql을 실행하면서 외부의 접속을 Listen할 3306포트는 필요하지 않을 것이다. 아래 옵션을 활성화하여 유닉스 자체소켓을 이용하도록 하면 DB에 대한 침해를 어느정도 사전방지할 수 있다.&lt;br /&gt;&lt;span style=&quot;COLOR: rgb(0,0,255)&quot;&gt;skip-networking&lt;/span&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;-- 주석제거 (외부접속 차단)&lt;br /&gt;&lt;br /&gt;5. mysqld 데몬 실행&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;/usr/local/mysql/bin/mysqld_&lt;font color=&quot;#d41a01&quot;&gt;safe --user=mysql&lt;/font&gt;&lt;font color=&quot;#000000&quot;&gt;&amp;nbsp;&lt;/font&gt;&amp;nbsp;&amp;amp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://cbn.springnote.com/images/template/ic_help_s.gif&quot;/&gt; 접속 확인&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;/usr/local/mysql/bin/mysql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;6. root 비밀번호 설정/확인&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;/usr/local/mysql/bin/mysqladmin -u root password &#039;비밀번호&#039;&lt;/span&gt;&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;/usr/local/mysql/bin/mysql -u root -p mysql&lt;/span&gt;&lt;br /&gt;Enter password: 비밀번호&lt;br /&gt;&lt;br /&gt;7. mysql 라이브러리 등록&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;vi /etc/ld.so.conf&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;COLOR: rgb(0,0,255)&quot;&gt;/usr/local/mysql/lib/mysql&lt;/span&gt;&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;ldconfig&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;8. mysql 데몬 부팅시 실행등록&lt;br /&gt;&lt;br /&gt;- 단독 데몬 실행시&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;vi /etc/rc.d/rc.local&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;COLOR: rgb(0,0,255)&quot;&gt;/usr/local/mysql/bin/mysqld_safe --user=mysql &amp;amp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- init 프로세스에 데몬 등록&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld&lt;/span&gt;&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;chkconfig mysqld on&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;9. 어느 위치에 있든 mysql 명령어를 사용할 수 있도록 링크&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;ln -s /usr/local/mysql/bin/mysql /usr/bin&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;10. utf8 언어셋 설정 확인&lt;br /&gt;mysql&amp;gt; &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;show variables like &#039;c%&#039;;&lt;/span&gt;&lt;br /&gt;&lt;font color=&quot;#000000&quot;&gt;+--------------------------+----------------------------------------+&lt;br /&gt;| Variable_name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; | Value &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; |&lt;br /&gt;+--------------------------+----------------------------------------+&lt;br /&gt;| character_set_client &amp;nbsp; &amp;nbsp; | utf8 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;| character_set_connection | utf8 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;| character_set_database &amp;nbsp; | utf8 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;| character_set_filesystem | binary &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;| character_set_results &amp;nbsp;&amp;nbsp; | utf8 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;| character_set_server &amp;nbsp; &amp;nbsp; | utf8 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;| character_set_system &amp;nbsp; &amp;nbsp; | utf8 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;| character_sets_dir &amp;nbsp; &amp;nbsp; &amp;nbsp; | /usr/local/mysql/share/mysql/charsets/ |&lt;br /&gt;| collation_connection &amp;nbsp; &amp;nbsp; | utf8_general_ci &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; |&lt;br /&gt;| collation_database &amp;nbsp; &amp;nbsp; &amp;nbsp; | utf8_general_ci &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; |&lt;br /&gt;| collation_server &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | utf8_general_ci &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; |&lt;br /&gt;| completion_type &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; | 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; |&lt;br /&gt;| concurrent_insert &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; | 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; |&lt;br /&gt;| connect_timeout &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; | 10 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;+--------------------------+----------------------------------------+&lt;br /&gt;14 rows in set (0.00 sec)&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;img src=&quot;http://cbn.springnote.com/images/template/ic_help_s.gif&quot;/&gt; utf8 언어셋 수동설정&lt;br /&gt;위와같이 utf8 언어셋으로 설정되지 않았거나 euckr이나 다른 언어셋에서 utf8로 설정할 때는 아래와 같이 my.cnf 환경설정 파일을 수정하시면 됩니다.&lt;br /&gt;# &lt;span style=&quot;COLOR: rgb(212,26,1)&quot;&gt;vi /etc/my.cnf&lt;/span&gt;&lt;br /&gt;[client] &lt;br /&gt;&lt;span style=&quot;COLOR: rgb(0,0,255)&quot;&gt;default-character-set=utf8&lt;br /&gt;&lt;/span&gt;[mysqld]&lt;br /&gt;&lt;span style=&quot;COLOR: rgb(0,0,255)&quot;&gt;init_connect=SET collation_connection = utf8_general_ci &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;COLOR: rgb(0,0,255)&quot;&gt;init_connect=SET NAMES utf8 &lt;/span&gt;&lt;span style=&quot;COLOR: rgb(0,0,255)&quot;&gt;&lt;br /&gt;default-character-set=utf8 &lt;/span&gt;&lt;span style=&quot;COLOR: rgb(0,0,255)&quot;&gt;&lt;br /&gt;character-set-server=utf8 &lt;br /&gt;collation-server=utf8_general_ci&lt;br /&gt;&lt;/span&gt;[mysql] &lt;br /&gt;&lt;span style=&quot;COLOR: rgb(0,0,255)&quot;&gt;default-character-set=utf8 &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://planactor.tistory.com/82&quot;&gt;http://planactor.tistory.com/82&lt;/a&gt;&lt;/p&gt;</content>			</entry><entry>
		<title>fedora core4 mysql 서버설치 및 windows client로 접속</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/11406"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/11406#comment"/>		<id>https://adminid.kr/mysql/11406</id>
		<published>2011-06-16T13:58:20+00:00</published>
		<updated>2011-06-16T13:58:20+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">*페도라코어4 서버 먼저 mysql.com에서 서버 rpm과 client rpm을 받는다 각각 여기서 받았다 http://dev.mysql.com/downloads/mysql/5.0.html#linux-static-x86-32bit-rpms 그리고나서 rpm -Uvh 으로 설치를 해준다 [root@localhost mysql]# ls -l 합계 25044 -rw-r--r-- 1 root root 6527645 7월 25 17:15 MySQL-client-5.0.45-0.i386.rpm -rw-r--r-- 1 root root 19077102 7월 25 17:15 MySQL-server-5.0.45-0.i386.rpm [root@loc...</summary>
	<content type="html">&lt;p&gt;*페도라코어4 서버&lt;br /&gt;먼저 mysql.com에서 서버 rpm과 client rpm을 받는다 각각 여기서 받았다&lt;br /&gt;&lt;a href=&quot;http://dev.mysql.com/downloads/mysql/5.0.html#linux-static-x86-32bit-rpms&quot;&gt;&lt;font color=&quot;#d1d1d1&quot;&gt;http://dev.mysql.com/downloads/mysql/5.0.html#linux-static-x86-32bit-rpms&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;그리고나서 &lt;br /&gt;&lt;br /&gt;rpm -Uvh 으로 설치를 해준다&lt;br /&gt;&lt;br /&gt;[root@localhost mysql]# ls -l&lt;br /&gt;합계 25044&lt;br /&gt;-rw-r--r--&amp;nbsp; 1 root root&amp;nbsp; 6527645&amp;nbsp; 7월 25 17:15 MySQL-client-5.0.45-0.i386.rpm&lt;br /&gt;-rw-r--r--&amp;nbsp; 1 root root 19077102&amp;nbsp; 7월 25 17:15 MySQL-server-5.0.45-0.i386.rpm&lt;br /&gt;[root@localhost mysql]# rpm -Uvh MySQL-server-5.0.45-0.i386.rpm &lt;br /&gt;[root@localhost mysql]# rpm -Uvh MySQL-client-5.0.45-0.i386.rpm &lt;br /&gt;&lt;br /&gt;system-config-services 명령으로 mysql 서비스를 항상 가동되도록 체크되어잇는지 확인하고&lt;br /&gt;&lt;br /&gt;&quot;service mysql start&quot;명령으로 mysql 데몬을 시작한다&lt;br /&gt;&lt;br /&gt;외부에서 사용할수있도록 system-config-securitylevel 명령으로 mysql포트를 열어준다&lt;br /&gt;mysql포트는 3306이므로 그외의 포트부분에서 &quot;3306: tcp:&quot;라고 써준다&lt;br /&gt;&lt;br /&gt;처음에 mysql만 입력하면 접속이 되는데 바꿔줘야한다&lt;br /&gt;&lt;br /&gt;mysqladmin -u root password &#039;1234&#039;&lt;br /&gt;계정은 root이고 암호는 1234이다&lt;br /&gt;그리고 mysql -u root -p 로 입력한후&lt;br /&gt;패스워드 입력후 접속한다&lt;br /&gt;&lt;br /&gt;윈도우즈 클라이언트 설치&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://dev.mysql.com/downloads/mysql/5.0.html#win32&quot;&gt;&lt;font color=&quot;#d1d1d1&quot;&gt;http://dev.mysql.com/downloads/mysql/5.0.html#win32&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;여기가서&lt;br /&gt;Windows Essentials (x86)&lt;br /&gt;이놈을 다운받는다&lt;br /&gt;&lt;br /&gt;그리고 인스톨시 서버설치는 하지않고(custom설치) &lt;br /&gt;client프로그램에서 MySQL sever Instance Config역시 설치를 하지않고&lt;br /&gt;&lt;br /&gt;대충 c:mysql폴더에다 설치한다&lt;br /&gt;&lt;br /&gt;윈도우에서 원격접속시&lt;br /&gt;mysql -h &amp;lt;호스트또는 IP&amp;gt; -u &amp;lt;사용자이름&amp;gt;-p로 하면 되지만 원칙적으로 mysql서버에서는 외부에서 접근할 &lt;br /&gt;도메인을 등록해줘야한다&lt;br /&gt;&lt;br /&gt;페도라 서버에가서 mysql에 접속뒤&lt;br /&gt;use mysql;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;mailto:root@localhost&quot;&gt;&lt;font color=&quot;#d1d1d1&quot;&gt;root@localhost&lt;/font&gt;&lt;/a&gt; mysql]# mysql -u root -p&lt;br /&gt;Enter password: &lt;br /&gt;Welcome to the MySQL monitor.&amp;nbsp; Commands end with ; or g.&lt;br /&gt;Your MySQL connection id is 18&lt;br /&gt;Server version: 5.0.45-community MySQL Community Edition (GPL)&lt;/p&gt; &lt;p&gt;Type &#039;help;&#039; or &#039;h&#039; for help. Type &#039;c&#039; to clear the buffer.&lt;/p&gt; &lt;p&gt;mysql&amp;gt; use mysql&lt;br /&gt;Reading table information for completion of table and column names&lt;br /&gt;You can turn off this feature to get a quicker startup with -A&lt;/p&gt; &lt;p&gt;Database changed&lt;br /&gt;mysql&amp;gt; select user,host from user&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt; ;&lt;br /&gt;+------+-----------------------+&lt;br /&gt;| user | host&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;+------+-----------------------+&lt;br /&gt;| root | 127.0.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | &lt;br /&gt;| root | 192.168.248.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | &lt;br /&gt;| root | 222.96.17.205&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | &lt;br /&gt;| root | localhost&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | &lt;br /&gt;| root | localhost.localdomain | &lt;br /&gt;+------+-----------------------+&lt;br /&gt;5 rows in set (0.00 sec)&lt;br /&gt;&lt;br /&gt;위에 결과를 분석하자면 root에대해 로컬호스트외 &lt;br /&gt;192.168.248.1과 222.96.17.205 주소에대해 허용해주고 있다 &lt;br /&gt;추가해주는 쿼리문은&lt;br /&gt;grant all privileges on *.* to &lt;a href=&quot;mailto:&#039;root&#039;@i&#039;paddres&#039;&quot;&gt;&lt;font color=&quot;#d1d1d1&quot;&gt;&#039;root&#039;@i&#039;paddres&#039;&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;identified by &#039;비밀번호&#039;;&lt;br /&gt;하면 등록이 될것이다&lt;br /&gt;&lt;br /&gt;그럼 윈도우 커맨드 창에서 접속을 시도해보자&lt;br /&gt;[root@localhost mysql]# ifconfig&lt;br /&gt;eth0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Link encap:Ethernet&amp;nbsp; HWaddr 00:0C:29:CC:74:72&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inet addr:192.168.248.204&amp;nbsp; Bcast:192.168.248.255&amp;nbsp; Mask:255.255.255.0&lt;br /&gt;페도라 서버의 ipaddress&lt;br /&gt;&lt;br /&gt;C:mysqlbin&amp;gt;mysql -h 192.168.248.204 -u root -p&lt;br /&gt;Enter password: ********&lt;br /&gt;Welcome to the MySQL monitor.&amp;nbsp; Commands end with ; or g.&lt;br /&gt;Your MySQL connection id is 19&lt;br /&gt;Server version: 5.0.45-community MySQL Community Edition (GPL)&lt;/p&gt; &lt;p&gt;Type &#039;help;&#039; or &#039;h&#039; for help. Type &#039;c&#039; to clear the buffer.&lt;/p&gt; &lt;p&gt;mysql&amp;gt;&lt;br /&gt;&lt;br /&gt;원격 접속이 되는걸 확인할수있다&lt;br /&gt;가령 mysql서버의 아이디와 패스워드 노출시 또는 강제적인 원격 접속이 가능하도록 변경된다면 위와같은&lt;br /&gt;절차를 이용할것이다~&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*grant는 사용자를 생성해주는 sql 구문이다 형식은 아래와 같다.&lt;br /&gt;grant &amp;lt;사용권한&amp;gt; on &amp;lt;데이터베이스이름&amp;gt;.&amp;lt;테이블이름&amp;gt; to &#039;&amp;lt;사용자이름&amp;gt;&#039;@&#039;&amp;lt;호스트이름&amp;gt;&#039; IDENTIFIED BY &#039;비밀번호&#039;;&lt;br /&gt;&lt;br /&gt;사용_권한을 ALL PRIVILIEGES로 쓰면 모든 권한을 다 준다는 의미다. 권한의 일부만 주기위해서는 SELECT,INSERT,UPDATE,DELETE등을 별도로 줄수있다&lt;br /&gt;&lt;br /&gt;&amp;lt;데이터베이스 이름&amp;gt;.&amp;lt;테이블 이름&amp;gt;을 *.*로 쓰면 모든 데이터베이스와 모든 테이블에 접근이 가능하다는 의미다.만약,mysql DB의 user 테이블만 사용할수 있도록 허락하려면 mysql.user라고 써 주면 된다.&lt;/p&gt;&lt;!-- &lt;rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:trackback=&quot;http://madskills.com/public/xml/rss/module/trackback/&quot;&gt; &lt;rdf:Description rdf:about=&quot;http://HongTen.egloos.com/464790&quot; dc:identifier=&quot;http://HongTen.egloos.com/464790&quot; dc:title=&quot;fedora core4 mysql 서버설치 및 windows client로 접속&quot; trackback:ping=&quot;http://HongTen.egloos.com/tb/464790&quot;/&gt; --&gt; &lt;div id=&quot;e4c_list&quot; style=&quot;BORDER-RIGHT: #ddd 1px dashed; PADDING-RIGHT: 15px; BORDER-TOP: #ddd 1px dashed; PADDING-LEFT: 15px; PADDING-BOTTOM: 5px; MARGIN: 20px 0px 5px; BORDER-LEFT: #ddd 1px dashed; PADDING-TOP: 5px; BORDER-BOTTOM: #ddd 1px dashed; TEXT-ALIGN: left&quot;&gt; &lt;p class=&quot;rtitle&quot;&gt;이 글과 관련있는 글을 자동검색한 결과입니다 &lt;strong&gt;&lt;a id=&quot;e4c_qmark&quot; style=&quot;POSITION: relative&quot; href=&quot;http://hongten.egloos.com/464790#&quot;&gt;&lt;font color=&quot;#d1d1d1&quot;&gt;[?]&lt;/font&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;font color=&quot;#d1d1d1&quot;&gt;&lt;img height=&quot;1&quot; src=&quot;http://app.egloos.com/stat/st_e.php?e=5&amp;amp;b=HongTen&amp;amp;s=464790&quot; width=&quot;1&quot; border=&quot;0&quot;/&gt;&lt;/font&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&quot;http://iksu.egloos.com/277129&quot;&gt;&lt;font color=&quot;#d1d1d1&quot;&gt;리눅스에서 MYSQL 설정&lt;/font&gt;&lt;/a&gt; by 변익수 &lt;li&gt;&lt;a href=&quot;http://theurgistk.egloos.com/3528115&quot;&gt;&lt;font color=&quot;#d1d1d1&quot;&gt;커널!&lt;/font&gt;&lt;/a&gt; by honam &lt;li&gt;&lt;a href=&quot;http://spongebody.egloos.com/3530932&quot;&gt;&lt;font color=&quot;#d1d1d1&quot;&gt;[mysql]초기 mysql root 패스워드 설정 및 비번 변경과 root 비번 잃어버렸을 경우&lt;/font&gt;&lt;/a&gt; by spongebody &lt;li&gt;&lt;a href=&quot;http://iksu.egloos.com/275926&quot;&gt;&lt;font color=&quot;#d1d1d1&quot;&gt;mysql 4.1 업뎃 후 mysql_connect() 접속 에러&lt;/font&gt;&lt;/a&gt; by 변익수 &lt;li&gt;&lt;a href=&quot;http://asllan.egloos.com/321214&quot;&gt;&lt;font color=&quot;#d1d1d1&quot;&gt;APM_Setup에서 MySQL 변경&lt;/font&gt;&lt;/a&gt; by Asllan &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://hongten.egloos.com/464790&quot;&gt;http://hongten.egloos.com/464790&lt;/a&gt;&lt;/p&gt;</content>			</entry><entry>
		<title>MySQL Dump뜨는 방법 및 복구 방법</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/11399"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/11399#comment"/>		<id>https://adminid.kr/mysql/11399</id>
		<published>2011-06-07T18:50:38+00:00</published>
		<updated>2011-06-07T18:52:10+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">1. 덤프뜨기 $&gt; mysqldump -u[사용자아이디] -p 데이터베이스명 [테이블명] &gt; 저장될 파일명 예) mysqldump -ukamkami -p mydatabase &gt; kamkami.pe.kr.sql 이렇게 하면 디비(mydatabase)를 몽땅 덤프를 뜨게된다. 테이블만 덤프를 뜨고 싶다면 예) mysqldump -ukamkami -p mydatabase member_table &gt; kamkami.pe.kr.member_table.sql 이렇게 하면 테이블만 덤프를 뜰 수 있다. 2. 복구하기 덤프 파일을 가지고 복구를 하는 방법도 ...</summary>
	<content type="html">&lt;h1&gt;&lt;span id=&quot;writeContents&quot; style=&quot;FONT-SIZE: 12px&quot;&gt;1. 덤프뜨기 &lt;/span&gt;&lt;/h1&gt; &lt;h2&gt;&lt;/h2&gt; &lt;p style=&quot;PADDING-LEFT: 30px&quot;&gt;&lt;span id=&quot;writeContents&quot; style=&quot;FONT-SIZE: 12px&quot;&gt;$&amp;gt; mysqldump -u[사용자아이디] -p 데이터베이스명 [테이블명] &amp;gt; 저장될 파일명&lt;/span&gt;&lt;span id=&quot;writeContents&quot; style=&quot;FONT-SIZE: 12px&quot;&gt;&lt;br /&gt;예) mysqldump -ukamkami -p mydatabase &amp;gt; kamkami.pe.kr.sql&lt;/p&gt; &lt;p&gt;이렇게 하면 디비(mydatabase)를 몽땅 덤프를 뜨게된다.&lt;/p&gt; &lt;p&gt;테이블만 덤프를 뜨고 싶다면&lt;/p&gt; &lt;p&gt;예) mysqldump -ukamkami -p mydatabase member_table &amp;gt; kamkami.pe.kr.member_table.sql&lt;/p&gt; &lt;p&gt;이렇게 하면 테이블만 덤프를 뜰 수 있다. &lt;h1&gt;&lt;span id=&quot;writeContents&quot; style=&quot;FONT-SIZE: 12px&quot;&gt;2. 복구하기 &lt;/span&gt;&lt;/h1&gt; &lt;h1&gt;&lt;/h1&gt; &lt;p&gt;&lt;span id=&quot;writeContents&quot; style=&quot;FONT-SIZE: 12px&quot;&gt;덤프 파일을 가지고 복구를 하는 방법도 간단하다.&lt;br /&gt;$&amp;gt; mysql -u[사용자아이디] -p [디비명] &amp;lt; 덤프파일명&lt;/p&gt; &lt;p&gt;예) mysql -ukamkami -p &amp;lt; kamkami.pe.kr.sql&lt;br /&gt;예) mysql -ukamkami -p mydatabase &amp;lt; kamkami.pe.kr.member_table.sql&lt;/p&gt; &lt;p&gt;1.특정 db의 특정 table에서 원하는 값만 덤프받기&lt;/p&gt; &lt;p&gt;&amp;gt;&amp;gt; edu라는 디비에 a,b,c라는 테이블이 있다. 여기서 a라는 테이블에서 no가 7번이상이고 10번&lt;br /&gt;이하인 값만 덤프를 받고자 한다. 어떻게 하겠는가?&lt;br /&gt;여기서 사용되는 옵션은 -w 이다.그럼 위 질문의 sql문은 아래와 같다&lt;/p&gt; &lt;p&gt;mysqldump -u mysql_admin -p edu a -w’no=&amp;gt;7 and no=&amp;lt;10′ &amp;gt; edu_a_cond.sql&lt;/p&gt; &lt;p&gt;위와같이 하면 no가 7~10번까지가 덤프될것이다.&lt;br /&gt;위에서 조건문은 -w 다음에 싱글쿼테이션으로 묶어준다. sql에서 사용하는 조건문이 다 될듯싶&lt;/p&gt; &lt;p&gt;다. 모두 테스트를 해보진 않았다.&lt;/p&gt; &lt;p&gt;2.디비 스키마(Schema)만 백업받기&lt;/p&gt; &lt;p&gt;&amp;gt;&amp;gt;초기에 작성해 놓은 테이블 스키마가 없을때 어떻게 하겠는가?&lt;br /&gt;만약 하나의 테이블이라면 desc 해서 일일이 다 삽질을 하면 되것지만 만약 테이블이 100개라&lt;/p&gt; &lt;p&gt;면 ..크억…이럴때 사용하는 mysqldump옵션이 있습니다.&lt;br /&gt;-d 입니다.&lt;/p&gt; &lt;p&gt;!.edu라는 디비의 모든 테이블 스키마를 백업받으려면&lt;/p&gt; &lt;p&gt;mysqldump -u mysql_admin -p -d edu &amp;gt; edu_db.sql&lt;/p&gt; &lt;p&gt;!.edu라는 디비의 a라는 테이블 스키마를 백업받으려면&lt;/p&gt; &lt;p&gt;mysqldump -u mysql_admin -p -d edu a&amp;gt; edu_a_table.sql &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://blog.dinux.kr/?p=263&quot;&gt;http://blog.dinux.kr/?p=263&lt;/a&gt;&lt;/p&gt;</content>			</entry><entry>
		<title>mysql 4.x 버전의 euc-kr(latin1)  DB를 mysql 5.x 버전으로 이전 하는법</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/11336"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/11336#comment"/>		<id>https://adminid.kr/mysql/11336</id>
		<published>2011-04-29T22:26:08+00:00</published>
		<updated>2011-04-29T22:26:08+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">1. 우선 mysqsl 4.x 버전에서 phpMyAdmin 같은 DBMS를 설치 한 이후에 내보내기 메뉴로 sql로 저장을 한다. 2. mysql 5.x 버전은 기본 default 가 utf-8이기 때문에 그냥 import 하게 되면 문자가 다 깨지게 된다. import 할 때 원본 sql 의 character set을 latin1 으로 잡아주게되면 문제 없이 이전이 된다. px : 단, utf-8 형태의 홈페이지가 아니라 아파치2에서 euc-kr 캐릭터 셋을 사용하면서 홈페이지를 운영할 경우이며 홈페...</summary>
	<content type="html">&lt;p&gt;1.&lt;/p&gt; &lt;p&gt;우선 mysqsl 4.x 버전에서 phpMyAdmin 같은 DBMS를 설치 한 이후에&lt;/p&gt; &lt;p&gt;내보내기 메뉴로 sql로 저장을 한다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;2.&lt;/p&gt; &lt;p&gt;mysql 5.x 버전은 기본 default 가 utf-8이기 때문에 그냥 import 하게 되면&lt;/p&gt; &lt;p&gt;문자가 다 깨지게 된다.&lt;/p&gt; &lt;p&gt;import 할 때 원본 sql 의 character set을 latin1 으로 잡아주게되면&lt;/p&gt; &lt;p&gt;문제 없이 이전이 된다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;px : 단, utf-8 형태의 홈페이지가 아니라 아파치2에서 euc-kr 캐릭터 셋을 사용하면서 홈페이지를&lt;/p&gt; &lt;p&gt;운영할 경우이며 홈페이지를 utf-8로 전부다 인코딩하고 db까지 변환하는 방법은 아님..&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;출처 : &lt;a href=&quot;http://hansori.kr&quot;&gt;http://hansori.kr&lt;/a&gt; 이전 시 경험..&lt;/p&gt;</content>			</entry><entry>
		<title>[Mysql] 범위 삭제 DELETE 쿼리</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/11212"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/11212#comment"/>		<id>https://adminid.kr/mysql/11212</id>
		<published>2010-05-04T16:55:59+00:00</published>
		<updated>2010-05-04T16:55:59+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">10번 이상의 table data를 한번에 삭제하는 방법은 DELETE FROM table명 WHERE no&gt;=10 이렇게 삭제하면 됩니다.</summary>
	<content type="html">10번 이상의 table data를 한번에 삭제하는 방법은 &lt;BR&gt;&lt;BR&gt;DELETE FROM&amp;nbsp;table명 WHERE no&amp;gt;=10&lt;BR&gt;&lt;BR&gt;이렇게 삭제하면 됩니다.</content>			</entry><entry>
		<title>MySQL에서 테이블을 생성할때 MyISAM과 InnoDB 어느것을 선택하나요?</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/11163"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/11163#comment"/>		<id>https://adminid.kr/mysql/11163</id>
		<published>2010-01-25T12:34:11+00:00</published>
		<updated>2010-01-25T12:34:11+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">MyISAM은 빠릅니다. InnoDB는 트랜잭션, 동시성 제어 등의 많은 기능이 지원됩니다. 그래서 MyISAM은 로그를 쌓는다던가 하는 단순 작업에 많이 쓰이고 보통 웹서비스에는 InnoDB가 많이 쓰입니다. 두 종류의 DB를 섞어서 사용하는 것도 가능하지만 백업하기가 좀 까다로워집니다. (두 DB의 백업 방법에 차이가 있어요) ----------------------------- MyISAM은 속도가 빠르지만 트랜잭션을 지원하지 않습니다. InnoDB는 속도가 느...</summary>
	<content type="html">&lt;P&gt;MyISAM은 빠릅니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;InnoDB는 트랜잭션, 동시성 제어&amp;nbsp;등의 많은 기능이 지원됩니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br /&gt; &lt;P&gt;그래서 MyISAM은 로그를 쌓는다던가 하는 단순 작업에 많이 쓰이고 보통&amp;nbsp;웹서비스에는&amp;nbsp;InnoDB가 많이 쓰입니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br /&gt; &lt;P&gt;두 종류의 DB를 섞어서 사용하는 것도 가능하지만 백업하기가 좀 까다로워집니다. (두 DB의 백업 방법에 차이가 있어요)&lt;/P&gt;-----------------------------&lt;BR&gt;&lt;BR&gt;MyISAM은 속도가 빠르지만&amp;nbsp;트랜잭션을 지원하지 않습니다. &lt;br /&gt; &lt;P&gt;InnoDB는 속도가 느리지만 트랜잭션을 지원합니다&lt;/P&gt;&lt;br /&gt; &lt;P&gt;단순 댓글저장용도이고 성능이&amp;nbsp;중요하면 MyISAM 사용하시면 될거 같습니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;용도에 따라서 다르게 설정하면 좋겠지만 성능이슈가 크지 않다면 InnoDB로 통일하는게 관리가 쉽지 않을까요?&lt;BR&gt;&lt;BR&gt;----------------------------------&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;&lt;br /&gt; &lt;P&gt;다른 분들께서 답변을 잘 달아주셨으니 저는 &#039;게시판의 댓글&#039;을 위해 사용하시려는 의도에 좀 더 집중해서 답변을 하겠습니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br /&gt; &lt;P&gt;아시다시피 MyISAM의 경우 자료를 입력/수정/삭제할 경우 테이블 전체에 락이 걸립니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;InnoDB는 위의 분들께서도 말씀하신 것처럼 트랜잭션을 지원하며 입력/수정/삭제에 대해 건건에 락이 걸립니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;따라서&amp;nbsp;게시판의 동시 접속량이 얼마 정도인지 사이트에 따라 많은 차이가 있습니다만 입력/수정/삭제가 아주 빈번하게 일어나면서 동시에 조회가 많이 일어나는 자료에 대해서는 InnoDB를 사용하시는 것을 권장합니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br /&gt; &lt;P&gt;그리고 마지막에 말씀하신 것은 다른 타입의 테이블들, 특히 MyISAM과 InnoDB테이블은 가급적 같이 사용하시지 않으시는 것이 좋습니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;키 캐쉬 혹은 InnoDB Pool의 사용에 대한 기본적은 것이 틀린 것은 차지하고라도&lt;/P&gt;&lt;br /&gt; &lt;P&gt;만약 MyISAM 테이블 A와 InnoDB 테이블 B를 조인해서 사용하시는 경우,&lt;/P&gt;&lt;br /&gt; &lt;P&gt;MyISAM 테이블에 테이블 락이 걸리면 해당 SQL의 성능이 아주 안 좋아질 수 있습니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br /&gt; &lt;P&gt;도움이 되었길 바라면서, 즐거운 일요일 맞이하세요~ ^0^/&quot;&lt;BR&gt;&lt;BR&gt;----------------------------------&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;&lt;br /&gt; &lt;P&gt;일단, 위에 답변에 무수히 나오는 얘기처럼 가장 고려해야 할 부분은 lock 에 관련된 부분입니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br /&gt; &lt;P&gt;update, delete 가 많은 시스템일 경우 innodb 를 , &lt;/P&gt;&lt;br /&gt; &lt;P&gt;그렇지 않고 대부분이 insert 와 select 로 이루어진 경우는 myisam 을 많이 사용합니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br /&gt; &lt;P&gt;이유는, &lt;/P&gt;&lt;br /&gt; &lt;P&gt;일단 myisam 의 경우 select 성능이 우수하지만 update 나 delete 가 일어날 경우 table lock 을 걸게 됩니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;그럼 다른 세션에서 update 를 하게 될경우 wait time 이 생기게 되고 , &lt;/P&gt;&lt;br /&gt; &lt;P&gt;이 부분에서 성능저하가 발생하게 됩니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br /&gt; &lt;P&gt;myisam과 innodb 는 많은 사용자들이 한개의 database 에 혼용해서 사용하지만, &lt;/P&gt;&lt;br /&gt; &lt;P&gt;myisam 의 경우 트렌젝션의 개념이 없고, innodb 는 트렌젝션이 존재한다는점..&lt;/P&gt;&lt;br /&gt; &lt;P&gt;그리고&amp;nbsp; table lock 과 row level lock 의 차이 등을 고려했을때 database 단위로 통일된 storage engine 을 사용하시는 것이 좋겠습니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br /&gt; &lt;P&gt;예를 한번 들어보겠습니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;product(productid, productname, sum_account)&amp;nbsp;: innodb&lt;/P&gt;&lt;br /&gt; &lt;P&gt;account(accountid,&amp;nbsp;user, date)&amp;nbsp;: myisam&lt;/P&gt;&lt;br /&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br /&gt; &lt;P&gt;product 는 판매 물품이 정의되어 있고, account 에는 실제 판매된 log 가 남는다고 가정하겠습니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;물품이 판매되면 acoount 에 log 가 남는 동시에 prodcut.sum_account 를 증가시켜야 합니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br /&gt; &lt;P&gt;account 에 해당 row 를 insert 하고, product 에 sum 값을 증가시킨 후 commit 이 일어나기 전에 에러상황이 연출된 경우 두 테이블의 무결성은 보장이 어려워 집니다. 롤백을 하는 경우도 마찬가지이지요.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br /&gt; &lt;P&gt;한가지 더 문제는 myisam 의 tablelock 으로 인해 product 테이블 작업도 기다리게 되는 성능상의 문제도 생각해 볼 수 있습니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br /&gt; &lt;P&gt;도움이 되셨길 바랍니다.&lt;/P&gt;&lt;br /&gt; &lt;P&gt;--------------------------------------------------&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;&lt;br /&gt; &lt;LI&gt;&lt;SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Dotum,돋움&quot;&gt;먼저 나온게 MyISAM 타입이고&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Dotum,돋움&quot;&gt; 속도는 MyISAM 타입이 훨씬 빨랐는데&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style=&quot;FONT-FAMILY: Dotum,돋움&quot;&gt;이후에 InnoDB 타입이 나오면서&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style=&quot;FONT-FAMILY: Dotum,돋움&quot;&gt;트랜잭션, 외부키참조, 트리거&amp;nbsp;등 훌륭한 많은 기능이 추가되었다.&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style=&quot;FONT-FAMILY: Dotum,돋움&quot;&gt;이후에 패치하면서 속도가 향상되었는데&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style=&quot;FONT-FAMILY: Dotum,돋움&quot;&gt;지금은 MyISAM 타입과 거의 비슷한 속도라고 한다. &lt;/SPAN&gt;&lt;br /&gt; &lt;LI&gt;&lt;SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Dotum,돋움&quot;&gt;일반적으로 MyISAM 타입은&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-FAMILY: Dotum,돋움&quot;&gt; 트렌젝션을 지원하지 않는다.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style=&quot;FONT-FAMILY: Dotum,돋움&quot;&gt;그래서 insert, update, delete 작업시 부가적인 작업을 하지 않는다.&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style=&quot;FONT-FAMILY: Dotum,돋움&quot;&gt;하지만 InnoDB타입은 트랜젝션을 지원한다. &lt;/SPAN&gt;&lt;br /&gt; &lt;LI&gt;&lt;SPAN style=&quot;FONT-FAMILY: Dotum,돋움&quot;&gt;&lt;SPAN style=&quot;FONT-FAMILY: Dotum,돋움&quot;&gt;여러가지 상황에 따라 다르겠지만,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style=&quot;FONT-FAMILY: Dotum,돋움&quot;&gt;일반적으로 MyISAM 타입은 insert, update할 때 빠르고,&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style=&quot;FONT-FAMILY: Dotum,돋움&quot;&gt;InnoDB 타입는 검색시 빠르다고 한다.&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style=&quot;FONT-FAMILY: Dotum,돋움&quot;&gt;혼용시 서버 메모리 설정을 보다 잘 해야한다고 한다.&lt;/SPAN&gt; &lt;BR&gt;&lt;BR&gt;출처 : &lt;A href=&quot;http://k.daum.net/qna/view.html?qid=3yoyO&quot;&gt;http://k.daum.net/qna/view.html?qid=3yoyO&lt;/A&gt;&lt;/LI&gt;</content>			</entry><entry>
		<title>mysql에서 사용자 계정 비밀번호 변경 방법</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/10640"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/10640#comment"/>		<id>https://adminid.kr/mysql/10640</id>
		<published>2006-02-15T17:56:00+00:00</published>
		<updated>2006-02-15T17:56:00+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">update user set password = password(&#039;암호&#039;) where user = &#039;계정&#039;; flush privileges;</summary>
	<content type="html">update user set password = password(&#039;암호&#039;) where user = &#039;계정&#039;;&lt;BR&gt;flush privileges;</content>			</entry><entry>
		<title>MySql 테이블 검사 및 복구하기 [ myisamchk ]</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/10592"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/10592#comment"/>		<id>https://adminid.kr/mysql/10592</id>
		<published>2005-11-25T17:11:43+00:00</published>
		<updated>2005-11-25T17:11:43+00:00</updated>
		<author>
			<name>JaeSoo</name>
		</author>
		<summary type="text">[ myisamchk 란 ? ] - DB 테이블에대한 오류 검사 및 오류 복구 유틸리티 - 버전 3.22.x : isamchk 유틸리티 사용 3.23.x : myisamchk 유틸리티 사용 [ myisamchk 사용전 주의사항 ] - mysql 데몬을 stop 시킨후 이 유틸리티를 사용해야한다. - mysql 데몬을 중지시킬수 없는 사항이라면 검사할 테이블에대한 rock을 걸고 검사를 수행하여야만 검사도중에 발생할수있는 오류를 막을수있다. - 모든작업이 그렇듯이 항상 백업을 한후 ...</summary>
	<content type="html">[ myisamchk 란 ? ] &lt;br /&gt; &lt;br /&gt; - DB 테이블에대한 오류 검사 및 오류 복구 유틸리티 &lt;br /&gt; - 버전 3.22.x : isamchk 유틸리티 사용 &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.23.x : myisamchk 유틸리티 사용 &lt;br /&gt; &lt;br /&gt; [ myisamchk 사용전 주의사항 ] &lt;br /&gt; &lt;br /&gt; - mysql 데몬을 stop 시킨후 이 유틸리티를 사용해야한다. &lt;br /&gt; - mysql 데몬을 중지시킬수 없는 사항이라면 검사할 테이블에대한 rock을 걸고 &lt;br /&gt; &amp;nbsp;&amp;nbsp; 검사를 수행하여야만 검사도중에 발생할수있는 오류를 막을수있다. &lt;br /&gt; - 모든작업이 그렇듯이 항상 백업을 한후 작성을 수행하는것이 좋을것이다. &lt;br /&gt; &lt;br /&gt; [ myisamchk 사용법 및 옵션 ]&amp;nbsp;&amp;nbsp;&lt;br /&gt; &lt;br /&gt; - 해당 테이블이있는 디렉토리로 이동 ( 일반적으로 /usr/local/mysql/var 밑에 &lt;br /&gt; &amp;nbsp;&amp;nbsp; 위치함 ) &lt;br /&gt; &lt;br /&gt; 1.일반적인 검사 &lt;br /&gt; &lt;br /&gt; [root@angelsoma var]myisamchk [table 명] &lt;br /&gt; &amp;nbsp;&amp;nbsp;&lt;br /&gt; &amp;nbsp;&amp;nbsp;Checking MYISAM file: [table 명] &lt;br /&gt; &amp;nbsp;&amp;nbsp;Data records:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 271&amp;nbsp;&amp;nbsp; Deleted blocks:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 &lt;br /&gt; &amp;nbsp;&amp;nbsp;- check file-size &lt;br /&gt; &amp;nbsp;&amp;nbsp;- check delete-chain &lt;br /&gt; &amp;nbsp;&amp;nbsp;- check index reference &lt;br /&gt; &amp;nbsp;&amp;nbsp;- check record links&amp;nbsp;&amp;nbsp; &lt;br /&gt; &amp;nbsp;&amp;nbsp;에러메시지가 없으면 테이블에 오류가 없다는것이다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;2.Global 옵션 &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;[root@angelsoma var]myisamchk -s,--silent [table 명] &lt;br /&gt; &amp;nbsp;&amp;nbsp;&lt;br /&gt; &amp;nbsp;&amp;nbsp; 에러만 출력한다. &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt; &amp;nbsp;&amp;nbsp;[root@angelsoma var]myisamchk -v,--verbose [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; -s 옵션보다 많은 정보를 출력한다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;[root@angelsoma var]myisamchk -V &lt;br /&gt; &amp;nbsp;&amp;nbsp;&lt;br /&gt; &amp;nbsp;&amp;nbsp; myisamchk 버젼을 표시한다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;3.Check 옵션&amp;nbsp;&amp;nbsp;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt; &amp;nbsp;&amp;nbsp;[root@angelsoma var]myisamchk -c,--check [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; 테이블의 에러를 check 한다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;[root@angelsoma var]myisamchk -e,--extend-check [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; 테이블을 좀더 세밀하게 check 한다. 일반적인 방법으로 error를 찾을수없 &lt;br /&gt; &amp;nbsp;&amp;nbsp; 경우 사용하는 옵션이다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;[root@angelsoma var]myisamchk -F,--fast [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; 빠른게 테이블 check 한다.정교한 체크는 하지않느다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;[root@angelsoma var]myisamchk -C,--check-only-changed [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; 테이블을 check 하고,테이블을 check 이후의 상태로 변경한다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;[root@angelsoma var]myisamchk -f,--force [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; 테이블에 error에 있을경우 강재로 check 한다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;[root@angelsoma var]myisamchk -i,--information [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; check한 결과의 정보를 통계화하여 보여준다. &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt; &amp;nbsp;&amp;nbsp; Checking MyISAM file: insertdb &lt;br /&gt; &amp;nbsp;&amp;nbsp; Data records:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8962&amp;nbsp;&amp;nbsp; Deleted blocks:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 &lt;br /&gt; &amp;nbsp;&amp;nbsp; - check file-size &lt;br /&gt; &amp;nbsp;&amp;nbsp; - check key delete-chain &lt;br /&gt; &amp;nbsp;&amp;nbsp; - check record delete-chain &lt;br /&gt; &amp;nbsp;&amp;nbsp; - check index reference &lt;br /&gt; &amp;nbsp;&amp;nbsp; - check data record references index: 1 &lt;br /&gt; &amp;nbsp;&amp;nbsp; Key:&amp;nbsp;&amp;nbsp;1:&amp;nbsp;&amp;nbsp;Keyblocks used:&amp;nbsp;&amp;nbsp;97%&amp;nbsp;&amp;nbsp;Packed:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0%&amp;nbsp;&amp;nbsp;Max levels:&amp;nbsp;&amp;nbsp;2 &lt;br /&gt; &amp;nbsp;&amp;nbsp; Total:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Keyblocks used:&amp;nbsp;&amp;nbsp;97%&amp;nbsp;&amp;nbsp;Packed:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0% &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; - check record links &lt;br /&gt; &amp;nbsp;&amp;nbsp; Records:&amp;nbsp;&amp;nbsp; 8962&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;M.recordlength:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;241&amp;nbsp;&amp;nbsp; Packed:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0% &lt;br /&gt; &amp;nbsp;&amp;nbsp; Recordspace used: 100%&amp;nbsp;&amp;nbsp; Empty space:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0%&amp;nbsp;&amp;nbsp;Blocks/Record:&amp;nbsp;&amp;nbsp; 1.00 &lt;br /&gt; &amp;nbsp;&amp;nbsp; Record blocks:&amp;nbsp;&amp;nbsp; 8962&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Delete blocks:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 &lt;br /&gt; &amp;nbsp;&amp;nbsp; Record data:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2166962&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Deleted data:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0 &lt;br /&gt; &amp;nbsp;&amp;nbsp; Lost space:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6796&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Linkdata:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;33634 &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; User time 0.21, System time 0.02 &lt;br /&gt; &amp;nbsp;&amp;nbsp; Maximum resident set size 0, Integral resident set size 0 &lt;br /&gt; &amp;nbsp;&amp;nbsp; Non-physical pagefaults 92, Physical pagefaults 198, Swaps 0 &lt;br /&gt; &amp;nbsp;&amp;nbsp; Blocks in 0 out 0, Messages in 0 out 0, Signals 0 &lt;br /&gt; &amp;nbsp;&amp;nbsp; Voluntary context switches 0, Involuntary context switches 0 &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;[root@angelsoma var]myisamchk -m,--medium-check [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; extend-check 옵션보다 check 속도가빠르며,99.9 % 의 에러을 찾을수있다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;4.Repair 옵션&amp;nbsp;&amp;nbsp;&lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; [root@angelsoma var]myisamchk -o -B,--backup [table 명] &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt; &amp;nbsp;&amp;nbsp; - recovering (with sort) MyISAM-table &#039;insertdb.MYI&#039; &lt;br /&gt; &amp;nbsp;&amp;nbsp; Data records: 8962 &lt;br /&gt; &amp;nbsp;&amp;nbsp; - Fixing index 1 &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; MYD파일을 백업한다. 형식은 [filename-time.BAK]의 파일이 생긴다. &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt; &amp;nbsp;&amp;nbsp; [root@angelsoma var]myisamchk -e,--extend-check [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; 세부적인 파일까지 복구를해준다.일반적으로 아주 하찮은 에러까지 찾을수 &lt;br /&gt; &amp;nbsp;&amp;nbsp; 있다.하지만 자포자기의 상태가 아니고서는 이옵션을 사용하지 않는게 좋다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; [root@angelsoma var]myisamchk -f,-force [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;이전것의 temporary file을 덥어쒸운다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; [root@angelsoma var]myisamchk -l,--no-symlinks [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;심복릭 링크를 따르지않겠다는 옵션이다. 일반적으로 myisamchk 는symlink&amp;nbsp;&amp;nbsp;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;points를 복구한다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; [root@angelsoma var]myisamchk -r,--recover [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;unique key를 제외한 대부분를 복구한다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; [root@angelsoma var]myisamchk -n,--sort-recover [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sorting하면서 테이블을 복구한다. 심지어 temporary 파일과 같은 아주 큰 &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;파일역시 sorting하면서 복구한다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; [root@angelsoma var]myisamchk -o,--safe-recover [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-r 옵션보다 느리게 복구한다.그러나 좀더 섬세한 복구를 지원한다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; [root@angelsoma var]myisamchk -q,--quick [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;테이터 파일의 수정없이 복구한다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;5.기타 옵션 &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; [root@angelsoma var]myisamchk -a,--analyze [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; key의 distribution 을 분석한다. &lt;br /&gt; &amp;nbsp;&amp;nbsp; 만약, distribution 을 산출하고 싶을경우에는 --verbose 나 --describe 라 &lt;br /&gt; &amp;nbsp;&amp;nbsp; 는 옵션과 동행해서 확인할수있다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; [root@angelsoma var]myisamchk -d,--description [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;테이블에 대한 정보를 출력한다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; [root@angelsoma var]myisamchk -S,--sort-index [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;index 블록을 sort한다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; [root@angelsoma var]myisamchk -R[index번호],--sort-records [table 명] &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;index 번호를 기준으로 인덱스를 정렬해준다. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;6.검사중 아래의 메시지가출력되면 해당테이블을 사용중이라는 의미이므로 테 &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;이블에 LOCK을 걸든가 데몬을 죽이고 나서 검사 및 복구를해야함. &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myisamchk: warning: 1 clients is using or hasn&#039;t closed the table&amp;nbsp;&amp;nbsp; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;properly &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;7.LOCK 걸기 &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myisamchk 는 테이블에대한 read 만 할수있으면 되기때문데 read 를 제외한 &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;모든것에 lock을 걸면된다. &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mysql&amp;gt; lock tables [table 명] READ ; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mysql&amp;gt; flush tables ; &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;flush tables 는 mysql이 테이블의 내용을 메모리에만 보관하고 실제 테이 &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;블파일에 기록을하지 않았을경우 실제 테이블파일에 기록하라는 의미이다 &lt;br /&gt; &amp;nbsp;&amp;nbsp; &lt;br /&gt; &amp;nbsp;&amp;nbsp;8.LOCK 풀기 &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mysql&amp;gt; unlock talbe; &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;9.Myisamchk 로 복구를 위한 LOCK 걸기 &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt; &amp;nbsp;&amp;nbsp; 서비스를 죽이지않고 복구를 해야할경우는 write lock를 걸어주면된다. &lt;br /&gt; &amp;nbsp;&amp;nbsp; 복구는 write 를 해야하기때문에 write lock를 걸어줘야한다. &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt; &amp;nbsp;&amp;nbsp; mysql&amp;gt;lock tables [table명] write; &lt;br /&gt; &amp;nbsp;&amp;nbsp; mysql&amp;gt;flush tables; &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;10.LOCK 풀기 &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp; mysql&amp;gt; unlock table; &lt;br /&gt; &lt;br /&gt; 출처 : http://hackersnews.org/hn/read.cgi?board=hn_mysql_tip&amp;y_number=40&amp;nnew=2</content>			</entry><entry>
		<title>Mysql 기초-DB 설치, 관리자지정, 계정추가 등</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/10502"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/10502#comment"/>		<id>https://adminid.kr/mysql/10502</id>
		<published>2004-06-05T20:19:09+00:00</published>
		<updated>2004-06-05T20:19:09+00:00</updated>
		<author>
			<name>처누</name>
		</author>
		<summary type="text">1. 최신버전의 MySQL 바이너리 버전을 다운. 예) mysql-3.22.22-pc-linux-gnu-i686.tar 2. 압축 풀기 tar xvfz mysql-3_21_33c-pc-linux-gnu-i686_tar.gz 3. 해당 디렉토리로 이름 및 파일 이동(/usr/local/mysql) # mv ./mysql-3.21.33c-pc-linux-gnu-i686/ /usr/local/mysql/ 4. 기본 디렉토리의 이동 # cd /usr/local/mysql/ 5. /scripts/mysql_install_db의 실행 # pwd /usr/local/mysql/ # ./scripts/mysql_install_db 6. mysq...</summary>
	<content type="html">1. 최신버전의 MySQL 바이너리 버전을 다운. &lt;br /&gt; &lt;br /&gt; 예) mysql-3.22.22-pc-linux-gnu-i686.tar&lt;br /&gt; &lt;br /&gt; 2. 압축 풀기&lt;br /&gt; &lt;br /&gt; tar xvfz mysql-3_21_33c-pc-linux-gnu-i686_tar.gz&amp;nbsp;&amp;nbsp;&lt;br /&gt; &lt;br /&gt; 3. 해당 디렉토리로 이름 및 파일 이동(/usr/local/mysql)&lt;br /&gt; &lt;br /&gt; # mv ./mysql-3.21.33c-pc-linux-gnu-i686/ /usr/local/mysql/&lt;br /&gt; &lt;br /&gt; 4. 기본 디렉토리의 이동&lt;br /&gt; &lt;br /&gt; # cd /usr/local/mysql/&lt;br /&gt; &lt;br /&gt; 5. /scripts/mysql_install_db의 실행&lt;br /&gt; &lt;br /&gt; # pwd&lt;br /&gt; /usr/local/mysql/&lt;br /&gt; &lt;br /&gt; # ./scripts/mysql_install_db &lt;br /&gt; &lt;br /&gt; 6. mysql demon 띄우기&lt;br /&gt; &lt;br /&gt; # cd /usr/local/mysql&lt;br /&gt; &lt;br /&gt; # ./bin/safe_mysqld &amp;&lt;br /&gt; &lt;br /&gt; 7. mysql demon 확인&lt;br /&gt; &lt;br /&gt; # ps aux&lt;br /&gt; (3개의 mysql 데몬이 떠있으면 성공) &lt;br /&gt; &lt;br /&gt; 8. admin(root) password 할당&lt;br /&gt; &lt;br /&gt; # ./mysqladmin -u root password &#039;******&#039;&lt;br /&gt; &lt;br /&gt; 9. mysql의 실행(mysql 데이터 베이스 사용)&lt;br /&gt; &lt;br /&gt; # ./mysql -uroot -p****** mysql&lt;br /&gt; &lt;br /&gt; 10. table 보기;&lt;br /&gt; &lt;br /&gt; mysql&amp;gt; show tables ;&lt;br /&gt; &lt;br /&gt; 11. 사용자 보기&lt;br /&gt; &lt;br /&gt; mysql&amp;gt; desc user ;&lt;br /&gt; &lt;br /&gt; 12. user 보기&lt;br /&gt; &lt;br /&gt; mysql&amp;gt; select user from user ;&lt;br /&gt; &lt;br /&gt; 13. 사용자 추가&lt;br /&gt; &lt;br /&gt; mysql&amp;gt; insert into user values(&#039;localhost&#039;,&#039;hichips&#039;,password(&#039;*********&#039;),&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&lt;br /&gt; &#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;);&lt;br /&gt; &lt;br /&gt; 14. 사용자 추가후 처리&lt;br /&gt; &lt;br /&gt; # ./mysqladmin -hlocalhost -uroot -p****** reload&lt;br /&gt; &lt;br /&gt; 15. database 만들기&lt;br /&gt; &lt;br /&gt; # ./mysqladmin -hlocalhost -uroot -p****** create hichips&lt;br /&gt; 또는 개인 계정으로도 데이터 베이스 생성이 가능하다.&lt;br /&gt; &lt;br /&gt; 16. database삭제&lt;br /&gt; &lt;br /&gt; # ./mysqladmin -hlocalhost -uroot -p****** drop hichips&lt;br /&gt; &lt;br /&gt; 17. 사용자 계정에 path 설정&lt;br /&gt; &lt;br /&gt; # su - hichips&lt;br /&gt; &lt;br /&gt; $ vi .bash_profile&lt;br /&gt; export MYSQL_HOME=/usr/local/mysql&lt;br /&gt; export PATH=$PATH:$MYSQL_HOME/bin&lt;br /&gt; &lt;br /&gt; 18. mysql 자동(starting) 데몬의 설정&lt;br /&gt; &lt;br /&gt; # vi /etc/rc.d/rc.local&lt;br /&gt; &lt;br /&gt; # cd /usr/local/mysql&lt;br /&gt; &lt;br /&gt; # ./bin/safe_mysqld --socket=/var/lib/mysql/mysql.sock &amp;gt; /dev/null 2&amp;gt; /dev/null&amp; &lt;br /&gt; &lt;br /&gt; 19. 이젠 개인 계정에서 사용하시려면&lt;br /&gt; &lt;br /&gt; $ mysql -uhichips -p********* hichips&lt;br /&gt; mysql&amp;gt;&lt;br /&gt; &lt;br /&gt; 20. user에게 mysql계정의 권한 주기&lt;br /&gt; &lt;br /&gt; database mysql의 user table에 insert를 해야한다.&amp;nbsp;&amp;nbsp;host, user, password는 임의로 주게 되고 나머지 권한 10가지는 모두 &#039;N&#039;로 준다. &lt;br /&gt; &lt;br /&gt; 21. user가 필요로 하는 database의 생성&lt;br /&gt; &lt;br /&gt; # mysqladmin -uroot -ppassword create sample &lt;br /&gt; &lt;br /&gt; 22. database권한설정을 한다&lt;br /&gt; &lt;br /&gt; database mysql의 db table에 insert한다. host, db, user에서 db는 위에서 만든 database명을 주고, user는 database의 사용권한자이다. 그 뒤의 10개의 권한을 모두 &#039;Y&#039;로 주므로써 database를 사용할 수 있는 모든 권한을 준다.&lt;br /&gt; &lt;br /&gt; 22. mysql을 reload하여 refresh한다.&lt;br /&gt; &lt;br /&gt; mysqladmin -uroot -ppassword reload&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 출처 : http://www.hanjum.com/view.php?id=l_tip&amp;no=51&amp;cateogory=2</content>			</entry><entry>
		<title>mySQL에서 사용자와 권한</title>
		<link rel="alternate" type="text/html" href="https://adminid.kr/mysql/10484"/>
	<link rel="replies" type="text/html" href="https://adminid.kr/mysql/10484#comment"/>		<id>https://adminid.kr/mysql/10484</id>
		<published>2004-04-16T00:30:20+00:00</published>
		<updated>2004-04-16T00:30:20+00:00</updated>
		<author>
			<name>처누</name>
		</author>
		<summary type="text">오늘은 mySQL이 어떻게 해서 사용자와 권한을 관리하는지 알아보겠습니다. 이걸 알아야 mySQL에서 테이블도 관리하고, jdbc드라이버로 jsp랑 연동도하고 할 수 있습니다. 처음보시는 분들은 좀 헷갈릴 수도 있겠지만, 두 세 번 보시다보면 쉽게 이해하실 수 있으실겁니다. 자, 그럼 어디 출발해 볼까요? 참, 그전에 한가지 알고 넘어가야 할 부분이 있습니다. 우리는 mySQL이라는 데이타베이스 관리 시스템을 사용합니다만, 그 안에...</summary>
	<content type="html">오늘은 mySQL이 어떻게 해서 사용자와 권한을 관리하는지 알아보겠습니다.&lt;br /&gt; &lt;br /&gt; 이걸 알아야 mySQL에서 테이블도 관리하고, jdbc드라이버로 jsp랑 연동도하고 할 수 있습니다.&lt;br /&gt; &lt;br /&gt; 처음보시는 분들은 좀 헷갈릴 수도 있겠지만, 두 세 번 보시다보면 쉽게 이해하실 수 있으실겁니다.&lt;br /&gt; &lt;br /&gt; 자, 그럼 어디 출발해 볼까요?&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 참, 그전에 한가지 알고 넘어가야 할 부분이 있습니다.&lt;br /&gt; &lt;br /&gt; 우리는 mySQL이라는 데이타베이스 관리 시스템을 사용합니다만,&lt;br /&gt; &lt;br /&gt; 그 안에는 이미 mysql이라는 이름의 데이타베이스와 test라는 이름의 데이타베이스가 존재합니다.&lt;br /&gt; &lt;br /&gt; 데이타베이스 관리 시스템이라는 의미의 mySQL과,&lt;br /&gt; &lt;br /&gt; 데이타베이스이름에 해당하는 mysql을 &lt;br /&gt; &lt;br /&gt; 혼동하시지 마시라는 얘기를 먼저 드려야겠네요.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 그럼 이제 본격적인 설명에 들어가겠습니다.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; mySQL에서 사용자 관리는 테이블형태로 합니다.&lt;br /&gt; &lt;br /&gt; 다시말해 테이블에 사용자를 넣고,빼고,변경하고 하는 것이지요.&lt;br /&gt; &lt;br /&gt; mySQL에서 사용자에 관한 테이블은 mysql이라는 데이타베이스의 user와 db라는 테이블입니다.&lt;br /&gt; &lt;br /&gt; 요번 강좌는 이 user와 db 라는 두개의 테이블에 초점을 맞춰서 읽으시면 됩니다.&lt;br /&gt; &lt;br /&gt; 먼저 mysql이라는 데이타베이스엔 어떤 테이블이 있는지 한 번 보겠습니다.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 6개의 테이블이 나옵니다만, 중요한 것은 user와 db테이블입니다.&lt;br /&gt; &lt;br /&gt; 이 두가지만 알면 나머지는 저절로 알게되는 부분입니다.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; user테이블은 아이디,패스워드,접속호스트와 mysql의 전체 데이타베이스에 대한 권한을 설정합니다.&lt;br /&gt; &lt;br /&gt; db테이블은 해당하는 데이타베이스에 대한 해당 사용자의 권한을 설정합니다.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 무슨말인지 모르시겠죠?&lt;br /&gt; &lt;br /&gt; 여기까지만 듣고 무슨 말인지 대번에 이해한다면 그게 어디 사람입니까?&lt;br /&gt; &lt;br /&gt; 아니 뭐 그러지말란 법은 없겠습니다만......., 어쨌거나 진짜 설명은 이제부터입니다.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 자, 그럼 먼저 user 테이블에 대하여 알아보겠습니다.&lt;br /&gt; &lt;br /&gt; 일단 user테이블이 어떻게 생겼는지 볼까요?&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 이렇게 17개의 컬럼이 나옵니다. &lt;br /&gt; &lt;br /&gt; host, user, password 칼럼을 제외한 나머지 부분들은 &lt;br /&gt; &lt;br /&gt; mySQL에있는 테이타베이스 전체에 대해 권한을 부여할 것인가를 결정하는 부분입니다.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 예를들면 Select_priv라는 컬럼에 값이 Y로 되어있으면 전체 데이타베이스들에 대해 &lt;br /&gt; &lt;br /&gt; Select문장을 실행할 수 있는 권한을 갖게 되는 것입니다.&lt;br /&gt; &lt;br /&gt; 물론 N으로 되어있으면 전체 데이타베이스들에 대해 Select문장의 권한이 없게 됩니다. &lt;br /&gt; &lt;br /&gt; 그러나 이 경우 db테이블에 해당 데이타베이스에 대해 Select_priv가 Y로 되어있으면 &lt;br /&gt; &lt;br /&gt; 그 데이타베이스에 대해서는 Select가 가능합니다.&lt;br /&gt; &lt;br /&gt; db테이블에 대해서는 일단 잠시후에 다루기로 하구요...&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 사용자 등록을 할때는 user와 db테이블에 등록을 합니다. &lt;br /&gt; &lt;br /&gt; db테이블에 등록되어있지 않으면서 user테이블에만 등록되어있고 모든 권한이 Y로 되어있으면 &lt;br /&gt; &lt;br /&gt; 그 사용자는 모든 데이타베이스에 대해 변경권한을 가지는 슈퍼유저가 될 것입니다.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; user테이블에 사용자가 추가된 예를 하나 들어보겠습니다.&lt;br /&gt; &lt;br /&gt; host칼럼에 210.123.123.123 이라고 등록되어있고,&lt;br /&gt; &lt;br /&gt; user칼럼에 myuser 라고 등록되어있고,&lt;br /&gt; &lt;br /&gt; password 칼럼에 1234 라고 등록되어있다면,&lt;br /&gt; &lt;br /&gt; 현재 210.123.123.123 이라는 컴퓨터에서 접속하는 1234라는 패스워드를 가진 &lt;br /&gt; &lt;br /&gt; myuser라는 사용자에 대해 권한을 설정하게 됩니다.&lt;br /&gt; &lt;br /&gt; 나머지 부분이 모두 Y로 되어있다면 이 myuser라는 사용자는 전체 데이타베이스를 운용할 수 있는 &lt;br /&gt; &lt;br /&gt; 슈퍼유저의 권한을 갖는 사용자겠지요.&lt;br /&gt; &lt;br /&gt; 나머지 부분이 모두 N로 되어있다면 db테이블에 가서 &lt;br /&gt; &lt;br /&gt; 그렇다면 어떤 db에 권한이 있는가를 살펴보게 됩니다.&lt;br /&gt; &lt;br /&gt; 일반적으로 host칼럼에는 현재 mysql이 설치된 컴퓨터의 이름을 쓰면 됩니다.&lt;br /&gt; &lt;br /&gt; 예를 들면 아파치의 httpd.conf에서 ServerName에 지정된 이름이지요.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 이제 db 테이블을 보겠습니다.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; db테이블입니다. db라는 칼럼도 있죠?&lt;br /&gt; &lt;br /&gt; 만약 &lt;br /&gt; &lt;br /&gt; host칼럼에는 localhost로,&lt;br /&gt; &lt;br /&gt; user칼럼에는 myuser로,&lt;br /&gt; &lt;br /&gt; db칼럼에는 testdb로&lt;br /&gt; &lt;br /&gt; 값이 들어가있다면, user테이블에서 host칼럼에 localhost로 등록되어있는 myuser라는 사용자에 대해 &lt;br /&gt; &lt;br /&gt; testdb라는 데이타베이스에 대한 권한을 설정하는 부분이 됩니다.&lt;br /&gt; &lt;br /&gt; 좀 복잡한가요?&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 그럼 이제 사용자를 한명 추가하면서 예를 들어 설명해 보겠습니다.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; mysql&amp;gt; insert into user (host,user,password) values(&#039;localhost&#039;,&#039;kimho&#039;,password(&#039;1234&#039;));&lt;br /&gt; &lt;br /&gt; mysql&amp;gt; insert into db values(&#039;localhost&#039;,&#039;testdb&#039;,&#039;kimho&#039;,&#039;y&#039;,&#039;y&#039;,&#039;y&#039;,&#039;y&#039;,&#039;y&#039;,&#039;y&#039;,&#039;y&#039;,&#039;y&#039;,&#039;y&#039;,&#039;y&#039;);&lt;br /&gt; &lt;br /&gt; mysql&amp;gt; flush privileges;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 이렇게 하면 kimho라는 사용자가 한명 추가됩니다.&lt;br /&gt; &lt;br /&gt; 첫문장부터 하나씩 살펴보겠습니다.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 첫번째 문장은 localhost에서 접속하는 kimho라는 사용자가 1234라는 패스워드로 접속하면 &lt;br /&gt; &lt;br /&gt; 접속을 허락하는데, 이 kimho라는 사용자는 전체 데이타베이스에 대한 권한은 없습니다.&lt;br /&gt; &lt;br /&gt; 왜냐하면 host,user,password에만 칼럼값을 넣으면 나머지는 디폴트로 N으로 들어가기때문입니다.&lt;br /&gt; &lt;br /&gt; 그렇다면 kimho라는 사용자가 사용할 수 있는 데이타베이스는 무엇일까요?&lt;br /&gt; &lt;br /&gt; 그것을 바로 두번째 문장에서 추가하는 것입니다. db테이블에 추가를 하게 되지요.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 두번째 문장은 이 localhost에서 접속한 kimho라는 사용자는 &lt;br /&gt; &lt;br /&gt; testdb라는 데이타베이스를 사용할 수 있습니다. &lt;br /&gt; &lt;br /&gt; 다른 데이타베이스로는 접근할 수 없는것이지요.&lt;br /&gt; &lt;br /&gt; kimho라는 사용자는 testdb라는 사용자에 대해서는 모든 권한을 가져야하기때문에 나머지 부분들이&lt;br /&gt; &lt;br /&gt; 모두 Y로 들어갔습니다.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 세번째 문장의 flush privileges는 권한을 새로 읽어들이는 부분입니다.&lt;br /&gt; &lt;br /&gt; 왜 권한을 새로 읽어들이냐구요?&lt;br /&gt; &lt;br /&gt; 그 부분에 대해 설명을 드리자면요...&lt;br /&gt; &lt;br /&gt; mySQL은 시동이되면 사용자의 접속을 받기위해&amp;nbsp;&amp;nbsp;user와 db등의 테이블로 부터 권한에 관한 설정을 읽어서&lt;br /&gt; &lt;br /&gt; 메모리상에 올려놓습니다.&lt;br /&gt; &lt;br /&gt; 그러면 이 메모리상의 설정을 토대로 사용자의 접속을 받고, 권한을 주고 하는 것이지요.&lt;br /&gt; &lt;br /&gt; 따라서 insert문으로 사용자를 추가했어도, 이는 테이블에 추가가 되었을뿐이지, &lt;br /&gt; &lt;br /&gt; 아직 메모리상에는 올라와있지 않으므로 현재로서는 적용이 되어있지 않은 상태가 됩니다.&lt;br /&gt; &lt;br /&gt; 그래서 flush라는 문장을 이용해서 메모리에 다시 올려놓도록 하는것이지요.&lt;br /&gt; &lt;br /&gt; 그럼 이해가되셨나요?&lt;br /&gt; &lt;br /&gt; 출처 : http://www.kimho.pe.kr/catalog/product_info.php?cPath=29_30&amp;products_id=55</content>			</entry></feed>
