- Today
- Total
목록MySQL (10)
내 머릿속 데이터베이스
설치 및 실행 과정도 이상하게 생각보다 힘들게 했는데, 종료까지 말썽이다. 인터넷에 검색하니 mysql.server stop 를 호출하면 된다던데.. 종료에 성공했다고 뜨나, 종료는 되어있지 않았다.재 시도 하면 pid 파일을 updating 문제가 있다고 에러가 납니다. 먼저 pid 파일의 updating 문제는 pid 파일의 권한 설정 문제로 해결 했다. 경로는 /usr/local/var/mysql/chmod 777 유저명.local.pid 걍 이렇게 777줘도 리스타트하면 pid가 재 생성되서 지가 알아서 맞는 권한으로 찾아가니 상관없다. 이젠 종료할 때 에러는 나지 않으나 (항상 성공), 하지만 실제 종료는 되지 않는다. pkill 로 mysqld를 종료해봐야 mysqld_safe 놈이 감시하고 ..
MySQL 로그파일 유닉스에서의 에러 로그 : 'hostname'.err shell>find / -name 'hostname'.err 윈도우에서의 에러 로그 : /mysql/data/mysql.err 리눅스에서 my.cnf파일 만들기 : my-huge.cnf 나 my-medium.cnf 파일을 찾아서 /etc/ 아래에 복사 shell>cp my-medium.cnf /etc/my.cnf 윈도우에서 my.ini 파일 만들기 : /mysql/ 디렉토리 아래에 보면 my-small, my-medium, my-large, my-huge 파일이 존재하는데 이중 1개를 my.ini로 이름을 바꿔서 c:\winnt 아래에 복사. * windows7에선 C:\ProgramData\MySQL\MySQL Server 5.5..
출처 : Sir커뮤니티 (http://sir.co.kr/bbs/board.php?bo_table=pg_tip&wr_id=13055) 여기저기 SQL 관련 포럼을 다니다보면, 아주 기본적인 통계산출 방법중에 하나인 count, sum 을 활용하지 못하는 경우를 많이 봅니다.... 이럴 땐 정말 안타까운 마음이 들기도합니다. .......................................... 저는 오라클을 문법으로 SQL을 작성합니다. (제가 오라클만 써봤기때문입니다.) 가끔 QnA 에 Oracle 로 쉽게 구현이 되나 mySQL 로 구현이 안되는 부분을 많이 접합니다....mySQL로 되는지 안되는지는 저도 알수없습니다...ㅡㅡ;;모르기때문에... 하지만 sum() count() 와 같은 그룹함수..
특정 기간에 대해 품별 합계를 구할 때 SELECT stock_idx, product_name, color_number, color_name, SUM(len) AS sum_len, order_date FROM sales_item_view WHERE order_date > '2015-04-06' AND order_date < '2015-04-07' GROUP BY order_date ORDER BY sum_len DESC; 3월에 해당되는 판매량의 합계를 각 일마다 보여줘라. SELECT SUM(len) AS sum_len, EXTRACT(DAY FROM order_date) as whatDAY, order_date FROM sales_item_view WHERE order_date like '2015-0..
SELECT * FROM t_connect_info WHERE reg_data between '2014-01-01 11:00:00' and '2014-01-20 12:00:00' GROUP BY reg_data ORDER BY no DESC 사용예제 데이터의 통계자료를 조회할 때, 시간대별, 일별, 주별, 월별 데이터를 조회하고자 한다. 아래의 SQL문을 응용하여 통계자료를 조회할 때 사용하자. -- 시간대별 통계 SELECT HOUR(CRE_DTM) AS 'HOUR' , COUNT(OS_TYPE) AS IOS FROM TB_API_ACCESS_LOG WHERE cre_dtm between '2013-08-04 11:00:00' and '2013-08-05 12:00:00' -- 시간 범위 조건 AND ..
출처 : http://blog.naver.com/my464/150178478874 DATE_FORMAT(DATE, '포맷할 형식') 날짜를 지정한 형식으로 포맷해 리턴 ex) DATE_FORMAT(now(), '%Y-%m-%d 00:00'); weekday(DATE) 숫자로 요일을 리턴 ex) weekday(now()); DATA_ADD(DATE, interval 기본값) 날짜에서 interval 값 만큼 더한 값 리턴 ex) select * from [table] where DATE_ADD(DATE_FORMAT(now(), '%Y-%m-%d 00:00'), interval weekday(now()) day);
※ 트리거로 지우기 mysql> DELIMITER $$ CREATE TRIGGER TR_TEST AFTER INSERT ON A테이블 FOR EACH ROW BEGIN DELETE FROM A테이블 WHERE 등록일시 < DATE_ADD(now(), INTERVAL -5 MINUTE); END; $$ DELIMITER; 하지만 cafe24.com은 트리거를 지원안한다. (보안문제상이나 뭐라나..) 더불어 프로시저, 펑션도 같은 이유로 지원안함. 그래서 그냥 insert 할때 삭제하기로 함 관계형 테이블 삭제 방법에는 2가지가 있다. 1. DELETE JOIN (출처 : http://pusankjs.blog.me/40128071581) DELETE E-mail.*, Account.*, Site.* User..
데이터 삭제시 다음과 같은 에러메시지가 뜨는 경우, Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect. 원인 MYSQL 워크벤치에서 데이터 삭제 시, WHERE절에 primary key를 지정해서 삭제하지 않는 경우 저런 메세지가 뜬다. 예) DELETE FROM table WHERE cost > 30000 해결방법 1. 서브쿼리를 이용해서 key값을 가져와서 지운다. 예) DELETE FROM ..
JSP로 MySQL DB에 연결하려는데 다음과 같은 에러가나서 많은 삽질을 했다. ^^ java.sql.SQLException: Unknown character set: 'euc_kr' euc_kr 캐릭터셋을 인식하지 못하는건데.. 해결책을 검색해보니 접속 경로에 아얘 캐릭터셋을 명시해주는 방법으로 해결 할 수 있다한다. 예) jdbc:mysql://localhost/dbname 를 jdbc:mysql://localhost/dbname?autoReconnect=true&characterEncoding=euc_kr 와 같이 뒤에 파라메터를 입력해주면 된다고 한다. 하지만 이래도 되질 않았고 -_-... 결국 솔라리스 스쿨이라는 사이트에서 원인을 찾았다. 주소 : http://www.solarisschool..
DB에 접속 후 [비번변경] mysql > set password=password("바꿀 비밀번호"); [분실시] # cd /usr/local/mysql/bin //mysql이 설치된 디렉토리의 bin # killall mysqld # ./safe_mysqld --skip-grant & # mysql mysql > USE mysql; mysql > UPDATE user SET Password=PASSWORD('패스워드') WHERE user='root'; mysql > FLUSH PRIVILEGES; mysql > quit # mysqld restart