개발개발/Database 15

ERROR 126 (HY000): Incorrect key file for table ... mysql

Mysql::Error: Incorrect key file for table ‘/tmp/#sql_****.MYI try to repair it 라는 경고 메시지 처리하기 상당히 많은 데이터를 left join 하고 order by 와 group by 까지 걸어버리니 해당 메시지가 나오며 쿼리가 날아가지 않았다. 동일한 구문에서 order by 와 group by 를 제거하고 작업을 하니 정상 작동을 하였는데 이것으로 해당 구문을 실행시 메모리가 부족할꺼라는 예상을 하였다. 그 후 관련 Mysql 세팅에서 메모리 늘리는 작업을 해봤는데 소용이 없었다. 여전히 안됨 마지막으로 tmp 폴더 용량을 체크해봤더니 전체 사용할 수 있는 용량이 400메가가 채 안되었다. 이것을 여유 많은 곳으로 옮겼더니. 이상없이 ..

Client does not support authentication protocol requested - Mysql

기존에 mysql 4.x 버전으로 운영중인 서버에 mysql 5.x 버전을 깔고 php 에서 localhost 로 포트번호만 달리해 접근을 하려했다. 외부에서 포트 번호만 달리해서 접근하는데에는 아무런 문제가 없었고 콘솔에서도 접근시 문제가 없었다. 하지만 PHP 에서 연결을 하려고 하니 "Client does not support authentication protocol requested" 에러메시지가 나오며 배짱을 부렸다. 이노무 자식!!! 이곳저곳 뒤져보니 mysql 4.x 기준으로 php 를 세팅을 하는 바람에 접근 자체가 php 에서 mysql 로 접근할때에 패스워드 암호화가 잘못되어서 접근이 안되는 문제였다. mysql 5.x 의 콘솔로 접근을 해서 mysql > UPDATE user SET..

MySql 에서 해당 주의 일요일 구하기.

언어상에서도 구현이 가능하지만 MySql 에서 계산을 해보도록한다. 단지 그뿐... mysql> SELECT DATE_ADD('2010-03-04', INTERVAL (DAYOFWEEK('2010-03-04')-1) * -1 DAY); 설명을 하자면 DAYOFWEEK('날짜') : 해당 날짜의 요일을 숫자로 구한다. (1:일요일 ~ 7:토요일) [관련설명] DATE_ADD(날짜, INTERVAL 이동할날짜 DAY) : 지정한 날자로 부터 며칠을 옮길지를 정한다. 해당 명령어들은 MySql 버전에 따라 되고 안되고 하는 것들이 있으니 해당 부분은 메뉴얼을 참조함 [메뉴얼링크]

SQLyog 를 사용한 HTTP tunneling...

서버를 관리하다 보면 보안상의 이유로 인해 로컬이나 특정 아이피 이외에서는 해당 데이터베이스 서버를 접속 못하게 막아 놓는 경우가 있다. 보안을 지키지만 한편으로는 개발을 하거나 테스트를 할 경우에 많은 불편함이 있다. 그래서 phpMyAdmin 을 깔아 놓고 써왔는데. 간단한건 불편함이 없지만 좀 더 복잡하거나 다양한 기능을 사용 할 경우에는 불편함이 존재하였다. 이런 경우를 해결하기 위해서 데이터베이스 관리 툴의 경우 터널링이라는 기법이 존재하고 있다. 그 중 하나인 HTTP tunneling은 HTTP 전용 포트인 80 을 이용해서 우회하여 접혹 방법을 이용한다. 대부분 서비스가 80 포트는 막지 않아서 그쪽을 통하면 문제 없이 가능하다. 다만 80 포트는 스나이핑이나 그런 방법을 통해서 내용을 외..

MySql 에서 datetime 과 timestamp 의 차이점...

다분히 실수에서 출발하였다. 간단한 페이지 만들면서 생각없이 timestamp 를 사용하였는데 이녀석은 CURRENT_TIMESTAMP 로 변경이 있을때마다 자동으로 날짜에 관한 데이터를 변경해준다. datetime 은 안됨 그래서 뭐가 다른지 한번 찾아봤다. 차이점은 몇가지가 있는데 우선 자동입력 기능 여부 DATETIME 은 일일히 수정시마다 날짜를 적어줘야함 TIMESTAMP 는 날짜를 지정 안해줘도 자동으로 입력 가능함 ( 옵션에 CURRENT_TIMESTAMP 를 사용할 경우 ) 두번째로 두 자료형에서 지원되는 범위도 다르다. DATETIME 의 경우 1000년 ~ 9999년 (아마테라스가 생각나는건... 라키시스 제발좀 훗딱 내주지...) 까지 지원하고 TIMESTAMP 의 경우 1970년 ~..

반응형