본문 바로가기

MySQL28

로컬에서 MySQL 한글이 깨질 때 로컬에서 MySQL 돌릴 때 제일 귀찮은 부분...한글이 깨지는거.ini 파일 수정해 주면 되지만 매번 셋팅하기도 귀찮으니 여기에 올려놔야겠다. 아랫 부분만 수정해도 DB에서 한글이 깨져서 출력이 된다거나 하는 일은 없겠다. # Example MySQL config file for medium systems.## This is for a system with little memory (32M - 64M) where MySQL plays# an important part, or systems up to 128M where MySQL is used together with# other programs (such as a web server)## You can copy this file to# /etc/my... 2016. 2. 29.
용량이 큰 sql 덤프파일 가져오기 XAMPP 설치 후 phpmyadmin에 들어가 덤프받은 DB를 가져오려니 역시나 용량이 80메가 정도 되다보니 기본 설정값으로는 불러올 수가 없다. 일단 php.ini에서 upload_max_filesize 과 post_max_size를 각각 100M로 고쳐보았다.잘 되나 싶었지만 시간초과에 걸린다...-_-; 안내되어있는 documenation을 보니 여러 개로 나눠주는 bigdump라는 것이 있다.근데 이건 PHP 파일이네...쩝. 하지만 어렵지 않다.파일은 다운로드 받아 열어보면 DB 세팅 부분이 있는데 로컬호스트에 있는 데이터베이스에 맞게 설정해주면 된다. 그리고, 로컬호스트의 웹서버 디렉토리에 (예를 들자면) dump 디렉토리를 하나 만들고 bigdump.php 파일을 복사한다.덤프받은 sql.. 2014. 8. 6.
EUC-KR -> UTF-8 DB 이전하기 2년 전 퇴사를 했는데, 당시 다니던 회사에서 쓰려고 만들었던 B2B 쇼핑몰을 리뉴얼하고 싶다는 연락을 받고 지금 작업 중이다. 회사를 그만 둔 뒤 창업한 회사에서 쓰려고 바닥부터 새로 개발한 쇼핑몰 프로그램이 있었기에 그걸로 옮기기로 했다. 사실 DB는 한번도 이전을 해본 적이 없어서 어떻게 해야하나...고민을 하다가 실시간으로 기존 DB에서 데이터를 불러와서 새 DB에 insert하면 되지 않나 생각했는데, 같은 호스팅회사를 쓰고 있어도 원격 DB 접속은 지원을 하지 않아 불가능했다. 그 다음으로 생각한 것이 어차피 테이블명 등도 겹치지 않고 하니 DB를 dump해서 새 DB에 넣은 뒤 기존 테이블 데이터들을 가지고 와서 하면 되지 않을까 싶었는데, JSP를 하는 친구로부터 csv 파일을 받아서 작업.. 2010. 8. 11.
테이블 내 특정 문자열 한꺼번에 바꾸기 - REPLACE 테이블에 들어 있는 특정 문자열을 다른 문자열로 바꾸고 싶을 때...replace를 사용하면 된다. 예를 들어 products 라는 테이블에 있는 origin이라는 컬럼의 china를 korea로 모두 바꾸고 싶다면... UPDATE products SET origin=REPLACE(origin, "china", "korea") 이런 식으로 phpMyAdmin SQL 탭에 명령을 적어넣은 후 실행하면 된다. 만약 특정 회사의 것만 바꾸고 싶다면 뒤에 WHERE 절을 넣으면 된다. UPDATE products SET origin=REPLACE(origin, "china", "korea") WHERE company="mycompany" DB를 다른 곳으로 옮긴 뒤 몇 가지 수정할 일이 있었는데 매우 편리하게.. 2009. 9. 13.
게시판 DB 스키마 재정의 2009/02/12 - [게시판 만들기] - 게시판 DB 스키마 정리게시판 만들 때 DB의 스키마를 정리를 했었는데 사용하다 보니 문제점이 발견되었다.한 개의 게시판만 생성해서 사용할 때는 별 관계가 없지만 다수의 게시판을 생성했을 때 여러 가지 복잡하고 미숙한 부분들이 나타나서 스키마를 다시 재정의했다.#기본 게시판 테이블 우선 DB 테이블을 생성 시에 공지사항 게시판을 기본으로 생성하도록 했다.제일 하단에 보면 코드 테이블에 공지사항 게시판 값이 들어간 것을 알 수 있다.이렇게 부모글과 답변글에 대한 테이블을 분리해놓고 나니 처리하기가 한경 수월해졌다.여러 개의 게시판을 생성하더라도 호출이나 처리 시에는 게시판 코드값만 넣어서 처리하도록 했다.$board = 'bbs_'.$code;$sql = "SE.. 2009. 2. 25.
mysql improved 함수 사용하기 기존에 mysql 관련 함수가 mysql_ 로 시작을 했다면 보다 개선된 함수는 mysqli_ 로 시작을 한다. 예를 들면 쿼리를 보내는 mysql_query() 함수의 경우 mysqli_query() 이런 식이다. 물론 위와 같이 쓰면 procedural방식으로 resource 를 반환하는 것이니 객체지향 방식으로 object 반환값을 받는다면 mysqli::query() 처럼 써야 한다. mySQL 4.1 이상에서 사용할 수 있다. 보다 자세한 내용은 http://kr2.php.net/manual/kr/book.mysqli.php 을 참고. 2009. 2. 16.
MVC 모델로 본 게시판 만들기 줏어들은 건 있어서 디자인패턴이란 책도 집에 한 권 있다. (아, 물론 읽어 본 적은 없다...그냥 소장만 하고 있다.) 문득 작년에 본 루비온레일즈(처음엔 루비온레일즈로 게시판을 만들려고 했다.) 책에서 MVC 모델을 읽은 기억이 났다. 그래서 구글링을 통해 MVC 모델로 본 게시판 만들기를 정리해 봤다. (사실 이런건 맨 처음에 해야하는건데...) MVC(Model-View-Controller) 모델은 소프트웨어 재사용성이나 협업에 있어서 중요한 역할을 하는 것 같다. (내 관심은 재사용성이다.) Model: 비즈니스 로직과 처리 View: 사용자 인터페이스(UI) Controller: 네비게이션과 입력 MODEL 우선 Model은 사용자나 프로그램 상에서 필요로 하는 하나의 객체라고 생각하면 된다... 2009. 2. 15.
SQL now() 사용하기 DB 필드명과 타입을 reg_date datetime 형태로 만들고, 데이터 입력 시에 now()를 주면 날짜와 시간이 모두 들어간다. (예: 2009-01-01 12:00:34 ) INSERT INTO member (id, passwd, ... reg_date ) VALUES('test' , '1111', ... now() ); 만약 뒤의 시간이 필요없다면, 그냥 컬럼타입을 datetime -> date로 바꿔주면 2009-01-01 만 입력이 된다. 기존에 데이터가 입력되어 있더라도 업데이트를 하면 그냥 날짜만 남는다. 시간을 날짜만 혹은 날짜와 시간을 함께 적절하게 입력할 필요가 있을 때 쓰면 편하다. 2009. 1. 29.
게시판 만들기 중간 소스 정리 요 사이 다른 것을 만드느라 게시판 만들기는 당분간 좀 유보했습니다. 자기가 만들고도 나중에 헷갈리는 경우를 방지하기 위해 중간 중간 정리하는 차원에서 소스를 올립니다. 그러나... 혹시라도 이 소스를 받으시는; 분들이 계시다면... 누차 말씀드리지만, 본 소스는 강좌용이 아닌 개인공부용으로 개발 중인 것이라 오류가 있을 수도 있고 최적화가 되어 있지 않습니다. 설치 전에 반드시 db_connect.php 파일을 본인의 데이터베이스 정보에 맞게 수정하셔야 하며, 이후에 create_db.php를 웹브라우저에서 실행하시면 됩니다. 소스를 보시고, 더 좋은 방법이나 개선방법을 알고 계시다면 공유 부탁드려요~ ^^; 지금은 잠시 손을 놓고 있지만, 1. 멀티게시판 (공지,질문 등등의 게시판을 하나의 소스로 사.. 2008. 12. 8.