프로그램/database 45

Mysql 디비 만들기, 유저만들어 권한할당해주기, SQL 임포트

Mysql DB Create, User Create, Grant Access, SQL Import Mysql 데이터베이스의 시작 : user 및 database 만들기 1. Mysql UTF-8 문자셋으로 Database 만들기. CREATE DATABASE your-database-name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;2. Mysql User를 만들고 database 접속권한 부여 grant all privileges on your-database-name.* to 'userid'@'localhost' identified by 'pwd' with grant option;3. SQL database Import mysql -uroot your..

Mysql Select Into File - Mysql 파일 백업

MySQL Table 을 다른 시스템을 이관하는경우 테이블내용을 Excel 이나 csv format File 로 내려 받으면 된다. 아래가 간단한 예제임. mysql> select * into outfile "/outputpath/outputname.xls" fields terminated by '\t' lines terminated by '\n' from sourceDb.sourceTable; Query OK, 48561 rows affected (0.08 sec) mysql> select * into outfile "/outputpath/outputname.csv" fields terminated by ',' lines terminated by '\n' from sourceDb.sourceTable;..

Oracle 에서 데이터를 file 로 안전하게 내려 받기

Oracle 은 아주 건조한 문법을 가지고 있지만, 그 기능 하나하나가 개발자에게는 GUI 앱들의 번잡한 기능에 비해 감동을 주는 기능이 많죠.. 아래의 것두 그런기능중 하나일겁니다. SQL 의 결과를 파일로 받고자 하는 경우에 몇가지 선행 작업을 한후, select 결과를 spool file로 저장 한다. 아래가 예제 SQL> set heading off SQL> set echo off SQL> set term off SQL> set NEWPAGE NONE SQL> set TRIMSPOOL ON SQL> set lines 1024 SQL> set feedback SQL> spool /root/work/zipcode_t.csv SQL> select zipcode_id || ',' || AREA1 || '..

MySQL에서 간단하게 랜덤숫자를 구하여 PKEY로 이용

DB작업을 하다보면 중복되지 않은 유일키를 만드는 작업을 하는경우가 많다. 이럴경우 아래와 같이 DB 단에서 고유키를 만들어 사용하는건 어떨까 ??? Mysql Date Conversion 함수를 잘 몰라서 replace로 삽질을 했는데 나중에 이부분을 수정 업그레이드 해야 함... ------------------------------------------------------------------------------------------------- -- rand함수를 이용하면 무작위 실수를 리턴 받을수 있다. -- rand()함수는 0.0 ~1.0 사이의 실수를 리턴 한다. ---------------------------------------------------------------------..

MySQL 동접 늘리기

요즘 mysql 사용이 부쩍 늘고 있는데, 동접이 문제가 되는 경우가 많습니다. (jdbc pool 설정에서 max 값을 잡아 봤자 mysql server 의 max connection 이 작다면 해결이 안 됩니다. - default 로는 100 으로 설정 된 경우가 많습니다.) 제경우도 부하 테스트를 하다 보면 db connection fail 이 수시로 나죠... 이럴때 db server 가 어느정도 된다면 아래와 같이 mysql max connection parameter 를 조정해 주셔야 합니다. 아래는 동접 500 으로 올리는 방법 입니다. Step 1) edit /etc/my.cnf [mysqld] max_connections = 500 table_cache = 128 wait_timeout..

oracle tnsnames.ora 설정

오늘도 한건 올립니다... 오랫동안 유지되고 있는 oracle sql/net 접속을 위한 tnsnames.ora 의 형식을 설명 합니다. 보통 파일의 위치는 $YOUR_ORA_HOME/NETWORK/admin/tnsnames.ora 입니다. 1. 싱글호스트의 경우 COMMON_CONNECTION_ALIAS = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = $OracleServerIpAddress)(PORT = $OracleServerTcpPort)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = $OracleServiceName) ) ) 2. RAC 로 연결된 경우 RAC_CONNE..

mysql utf-8 setup guide

db 작업.. 특해 개발자에게 한글처리는 사실 좀 고통입니다. 특히 오픈소스 디비들은 개발자가 잘 세팅하지 않으면... 고생길이죠. 좋은분이 좋은글을 써준신걸 스크랩 했습니다.. http://blog.artgia.com/335 아래데로 하고 개발시 모든 코드를 utf-8로 설정하세요. 그래도 안되는게 있담면 characterset filter 로 강제로 request characterset 을 utf-8 로 강제로 지정하세요... 일단 DB 쪽은 아래와 같이 하시면 만사 오케이 ~ 1. etc/my.cnf (또는 my.ini) 에서 캐릭터셋 수정 [client] #password = your_password default-character-set=utf8 [mysqld] init_connect=SET c..

oracle 에서 table 정보 조회 쿼리

출처 : http://dev.alseom.co.kr/50 가끔씩 테이블 전체의 정보를 한방에 가져 오고 싶을때가 있죠... (문서화및... 기타 의 경우) 아래의 쿼리를 이용하면 Okay - 테이블 정보 조회 SELECT tbl.TABLE_NAME, comments.COMMENTS, tbl.TABLESPACE_NAME FROM USER_TABLES tbl, USER_TAB_COMMENTS comments WHERE tbl.TABLE_NAME = comments.TABLE_NAME ORDER BY tbl.TABLE_NAME - 컬럼까지 조회 SELECT tab_columns.TABLE_NAME, tab_columns.COLUMN_ID, tab_columns.COLUMN_NAME, (case when DAT..

mysql 소스 빌드

- 최신버전인 5.5.xx 는 우측 블로그를 참조: http://cyber.ipohang.org/blog/winnie/45 - 아래는 구버전인 5.1.xx 오늘은 일요일 ... 새로 준비된 서버 설정을 하기로 하였습니다... mysql의 설치는 보통 linux package 로 하는게 대부분 입니다. (저도 보통 이걸 추천 합니다.) 그러나,,, 소스로 빌드해보려는 이상한 경향이 있는 분들이 있죠.. 저도 이런 부류이 사람인가 봅니다. 서버 : 사양은 잘 모름... 그냥 듀얼코어, 램 2기가 정도 , 현재 hostway에서 서버 호스팅중 입니다. os : ubuntu 최선버전으로 해달라고 했는데, 최신인지는 잘 모르겠습니다. 일단 아래가 서버에서 나오는 메시지 입니다. root@localhost:~/do..

mysql 대/소문자 구분하지 못하게 하기

windows 기반에서 mysql 을 사용하면 table name 에 대/소문자 구분없이 코딩이 가능 하다.... 그러나 unix (linux) 로 넘어가면 상황이 다르다 ... 기본적으로 대부분 테이블 이름에 대소문자가 구분된다.... 이것땜에 짜증나는 경우 가끔씩 있는데 이걸 무시 하게 할려면 아래와 같이 처리 하면 된다. 자 아래처럼 해서 속시원하게 살자. 1) edit /etc/mysql/my.cnf [mysqld] # 아래처럼 하면 테이블명 인식할때 대소문자 무시합니다. lower_case_table_names=1 2) /etc/init.d/mysql restart