manywaypark's Blog
개발, 검색, 함수

'MySQL'에 해당되는 글 4건

  1. 2015.08.21 pgloader - from mysql to postgresql
  2. 2007.06.27 PLT Scheme - mysqlclient
  3. 2007.05.31 일상적 작업
  4. 2006.12.21 MySQL 업그레이드

pgloader - from mysql to postgresql

tips & tricks 2015.08.21 17:08 by manywaypark

mysql에서 postgresql로 이전하는 방법에 대해 간략히 기술한다.


# 소스 받고 빌드하기

⟫ apt-get install sbcl unzip libsqlite3-dev make curl gawk freetds-dev libzip-dev

⟫ git clone https://github.com/dimitri/pgloader.git

⟫ cd pgloader

⟫ make pgloader


# pgloader 사용 해서 옮기기

⟫ sudo -u postgres build/bin/pgloader mysql://user:password@localhost/from_db postgresql://user:password@localhost/to_db


# schema만 덤프

⟫ sudo -u postgres pg_dump -s to_db > /tmp/schema_for_postgresql.sql


# TODO

덤프한 schema 파일을 열어보면 실제로는 동일한 것들이 중복되어 있는 경우가 있다 (ENUM 등). 수작업이 좀 필요한 부분이다.

schema를 깔끔히 정리하고, 관련 code를 변경한다.


추가적으로 erlang 사용자는 sqerl을 사용하면 인생이 조금 편해질 것이다.


refs:

  • http://pgloader.io/
  • http://pgloader.tapoueh.org/howto/pgloader.1.html
  • https://github.com/chef/sqerl


happy hackin'

PLT Scheme - mysqlclient

함수형 언어/Scheme 2007.06.27 19:14 by manywaypark
mysql과 scheme을 연동해보자.
http://www.cs.uvm.edu/~dvanhorn/scheme/
unix/linux에서는 mysqlclient.ss에 있는 설명으로 충분히 빌드가 가능하다.
window환경에서는 다음 링크의 설명대로 하면 될듯하다.
http://www.cs.brown.edu/pipermail/plt-scheme/2004-July/006230.html
요지는,
C:\Program Files\PLT\collects 디렉토리에서 컴파일한다고 가정하면, 다음과 같이...
..\mzc --auto-dir ++ldf c:\mysql\lib\opt\mysqlclient.lib ++ldl d:\mysql\lib\opt\mysqlclient.lib ++ldl WSock32.Lib ++ldl AdvAPI32.Lib ++ccf -Ic:\mysql\include ++ccf -D__LCC__  mysqlclient\mysqlclient.ss

MS SDK의 무료(express) 버전이 필요할지도 모른다. 언제 무료 버전이 생긴거지? ㅋ
http://msdn.microsoft.com/vstudio/express/downloads/
VC++를 설치하자.
VC++만 설치하면 될 줄 알았는데, "winsock.h"를 못 찾는다.
http://www.microsoft.com/downloads/details.aspx?FamilyID=a55b6b43-e24f-4ea3-a93e-40c0ec4f68e5&DisplayLang=en
Platform SDK를 설치하자.

다음과 같이 하면 잘 될것이다.

VC++ 사용시 - 거지 같지만, Visual Studio 2005 Command Prompt로 들어가서 하는 것이 정신건강에 좋다.
..\mzc -v --auto-dir ++ldf "c:\art\MySQL\MySQL Server 5.0\lib\opt\mysqlclient.lib" ++ldl "c:\art\MySQL\MySQL Server 5.0\lib\opt\mysqlclient.lib" ++ldl "C:\Program Files\Microsoft Platform SDK\Lib\WSock32.Lib" ++ldl "C:\Program Files\Microsoft Platform SDK\Lib\AdvAPI32.Lib" ++ldl "C:\Program Files\Microsoft Platform SDK\Lib\Uuid.Lib" ++ccf -I"c:\Program Files\Microsoft PlatformSDK\Include" ++ccf -I"c:\art\MySQL\MySQL Server 5.0\include" ++ccf -D__LCC__  mysqlclient\mysqlclient.ss

cygwin 사용시 - 이건 실패. 시간있을때 성공하게 만들어보자.
..\mzc -v --auto-dir ++ldf "c:\art\MySQL\MySQL Server 5.0\lib\opt\mysqlclient.lib" ++ldl "c:\art\MySQL\MySQL Server 5.0\lib\opt\mysqlclient.lib" ++ldl \art\cygwin\lib\w32api\libwsock32.a ++ldl \art\cygwin\lib\w32api\libadvapi32.a ++ccf -I"c:\art\cygwin\usr\include\w32api" ++ccf -I"c:\art\MySQL\MySQL Server 5.0\include" ++ccf -D__LCC__  mysqlclient\mysqlclient.ss


happy hackin'

일상적 작업

잡담 2007.05.31 17:23 by manywaypark
cl-sql을 사용하여 약 5백만 건 정도의 레코드를 mysql DB에 입력했다.
오라클 DB dump로 추정되는 텍스트 파일을 cl-ppcre를 사용하여 살짝 조작한 후에 clsql:def-view-class로 정의한 클래스의 인스턴스를 생성 한 후 clsql:update-records-from-instance로 DB에 삽입했다.

결과:
Evaluation took:
  6941.389 seconds of real time
  4364.181 seconds of user run time
  98.73017 seconds of system run time
  [Run times include 327.356 seconds GC run time.]
  0 page faults and
  498,416,792,016 bytes consed.
빠른건가? 느린건가?
속도가 무슨 의미가 있겠는가? 간단히 아름답게 해결되었고, 기다려줄만한 시간인것을...

happy hackin'
TAG Lisp, MySQL

MySQL 업그레이드

tips & tricks/Linux/Unix 2006.12.21 02:35 by manywaypark
Ubuntu에 깔려있는 MySQL을 업그레이드했는데, 뭔가 잘못됐는지 다음과 같은 메시지와 함께 실행이 안되었다.
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'

Ubuntu 포럼 검색결과 그냥 간단히 /etc/mysql/debian.cnf 파일내의 password로 debian-sys-maint 사용자에게 모든 권한을 주면 해결되었다. 난 그 이전 단계에서 실수로 관련파일들을 삭제해버려서 좀 문제가 커졌었다. 다시 설치하니 생겼던 것같기도 하고 아닌 것같기도 하고 가물가물......
GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '<password>' WITH GRANT OPTION;

여하튼 happy hackin'
TAG MySQL, 서버
1 
분류 전체보기 (298)
잡담 (20)
함수형 언어 (62)
emacs (16)
java (18)
tips & tricks (150)
사랑 (1)
가사 (0)
독서 (4)
mobile (6)
비함수형 언어 (2)