반응형

MySQL 14

테이블을 생성할 때 AUTO_INCREMENT 값 설정. MSSQL vs MySQL.

오랜만에 MSSQL 하려니 어리버리 해서, 결국 옆사람에게 물어봤다. 미묘하게 약간씩 다른 MSSQL 과 MySQL 인데, 그 중에서 CreateTable 의 Primary key 잡는법도 다르다.예를 들어 MySql 이라면 CREATE TABLE 테이블이름 {idx INT NOT NULL PRIMARY KEY AUTO_INCREMENT,field1 INT default 0,1field2 varchar( 256 ) NOT NULL} 이런 식이겠지 . 이게 MSSQL 이라면 CREATE TABLE 테이블이름 {idx INT IDENTITY(1,1) PRIMARY KEY,field1 INT default 0,field2 varchar( 256 ) NOT NULL} 이런 식이다. 좀더 자세한 정보는 http:..

프로그램 2016.01.05

cafe24 서버 + 웹서비스 설정 처음에 할 일

예를 들어, 고객이 웹서비스를 요구하는데 뒷단에 자동화 처리용 서비스( =데이터 수집, 통계, 저장장치 등등 ) 가 이것저것 붙어야 한다고 치자. 그럼, 호스팅 서비스를 이용할 때 웹서비스를 신청하지 않고, 서버 서비스를 신청할 끼다.물론, 너님이 능력자라면 다른 라이브러리를 php 로 포팅한다던가, 무겁거나 정기적인 서비스는 사무실 로컬 컴퓨터에서 하고 웹서버가 로컬 컴퓨터에 접속해서 작업내용을 가져가게 할 수도 있겠지만.... 그런 사람이라면 이 글을 볼 필요 없겠지? 고객 요구에 따라 몇 번 반복하다 보니, 이걸 기록해 놓아야 매번 설치할 때 시간을 줄일 수 있을 듯 해서 기록한다. 참고 : 인터넷 뒤지면 다 있고, 이건 모아뒀다고 생각하면 됨. 가. 신청을 잘 해서, 이미 웹서비스가 돌아갈 경우...

프로그램 2015.06.09

nodejs 에서 mysql connection 이 안 될 때( connect ECONNREFUSSED 에러 ).

말 그대로다. 이런 경우가 실제로 생겨서, 기록한다. 상황을 설명하면 1. 개발을 위해 테스트 서버에서 node.js 로 서비스 개발.2. node.js + mysql 을 사용.3. 실서버로 코드 이동4. 실행.5. 실패 + 좌절. [ 테스트 서버에서 되던게 왜 실서버에서는 안되냔 말야. ] 결론부터 이야기하면, mysql connection 이 fail 나서 그런거다.당연히 암호나 계정 문제가 아니고... node.js 에서 mysql connection 접속 자체가 실패하는 듯. 1. 실서버는 mysql port 가 기본포트가 아닌데, 2. node.js 의 mysql connection 설정에 port 번호 설정하는 항목이 있는데도3. port 값을 넣어도 안 되더라. 역시나 google 신께 가르..

프로그램 2015.03.11

mysql alter change, transaction.

별거 아닌 걸로 삽질을 좀 많이 하다가 알아낸 거라 쓴다. 나처럼 삽질 하는 사람이 없길. 나무아미타불....( 응? ) 1. mysql 의 alter. 일반적으로 테이블을 변경할 때에는, alter 를 쓴다. 그리고, table 의 column 중 하나의 이름을 바꾸는 명령은 다음과 같다. > ALTER TABLE 테이블이름 CHANGE 바꿀필드이름 새필드이름; 근데, 여기서 함정인게, 이걸로 안바뀜. 문법은 맞지만, MYSQL에서는 안바뀐다. 결국 명령어 조합하다 알아낸 건데, > ALTER TABLE 테이블이름 CHANGE 바꿀필드이름 새필드이름 필드속성값; 요렇게 해줘야 된다.예를 들면 , > ALTER TABLE table1 CHANGE fieldold fieldnew; 이럼 안되고, > ALT..

프로그램 2014.09.11

Mysql 에서, 한 번의 query 로 실행할 수 있는 query 문장의 길이는 얼마까지?

작업 중에 Insert 할 일이 있었는데, 이게 좀 까다로워서... 응답성을 많이 신경써야 하는 요구사항이었다. 데이터는 대략 초당 2000 row 정도 날라오는데( 계속 갱신 ), 이걸 사용자에게 최대한 끊김없이 보여주어야 하는 것.물론 지금의 computer power 라면 저 정도야 문제 없지만, 서비스의 특성상 나이스 타이밍으로 절묘한 특정 순간에 data request 를 하게 되면, 유실된 데이터 혹은 불명확한 데이터를 볼 수 있는 것. 응답성을 생각하면 데이터를 날리지 않고 무조건 update 하는 게 맞지만, 그러자니 update가 너무 빈번해서( 저렴한 서버라 어쩔 수 없다. )토의 결과 날라오는 데이터를 1. 무조건 search -> update 하지 않고, 2. 일정 시간만큼 모아놨다..

프로그램/mysql 2014.08.10

mysql 에서 새 계정을 추가했는데, 접속이 안 될 때.

음....이거 조금 길다. 긴데, 어쨌던, 설명해 보자. 상황은 이렇다. ( 사용환경 : Linux CentOS + Mysql DB ) 1. 새로 서비스를 만들어야 할 게 있어서2. Database Name 을 새로 만들고3. 물론 사용자도 추가해서, 2. 에서 만든 Database Name 만 접근하게 하려고 한다. 괜히 사용 안 할 다른 DBName 까지 접근 권한 줘서 보안 사고의 씨앗을 심을 필요는 없으니까.4. 근데.... 추가한 DB User 로 디비 접근이 안된다? 5. 권한도 없다. 분명히 추가해 줬는데.6. 이상해서 mysql 을 외부에서 접속해 보았다. 7. 추가한 아이디로 외부에서 접속이 안된다!!! 즉, 왜인지는 몰라도 새로 추가한 아이디가 전혀 안 먹는 거임! 이런 황당한 경우가...

프로그램/mysql 2014.02.17

mysql connection string for UTF-8.

mysql 을 연결해서 쓸 때, query string 의 문자열을 UTF-8 로 지정하고 싶을 때가 있을거다. 예를 들어 insert 문 같은 경우에 "insert into table1 ( field1 ) values ( '가나다' )" 뭐 이런거 실행시키고 싶은 경우. 이런 때 보통은( = 예전에 나는 ) '가나다' 라는 문자열을 IO 등을 통해 가져온 다음에 메모리에서 utf-8 로 인코딩한 후 sql 문자열을 다시 조립해서 넣어줬는데, 그럴 필요없이 DB connection 연결할 때 연결 문장에 charset 을 선언해 주면 된다. 그래서... connection string 선언의 경우에 함수를 쓰는 컴파일 형태의 mysql 이라면 MYSQL *conn;... conn = mysql_init(..

프로그램 2013.12.15

mysql port 번호 바꾸기 Cafe24버전.

1. Mysql 에서 Port 번호 바꾸는 건 두 가지만 기억하면 된다. 1.1. 검색. 1.2. 적용. 개드립이고, 여길 고치면 된다. 1. my.cnf 를 찾는다.#find / -name "my.cnf" 대부분 /etc/my.cnf 있다. 새로운 port 번호를 설정하자. # vi /etc/my.cnf"[mysqld]" 항목에 "port = 포트번호" 를 추가. 2. 적용 안되는 걸 확인하고 좌절한다. 안되더라고. 그래서 더 찾아봤지. 3. my-*.cnf 를 찾는다.왜인지는 몰라도, 설정 파일이 더 있다. 그것도 무려 용량 기준.일단 뭐가 적용되는 지 모르니까, 모조리 열어서 바꾸자. 3.1. #cd /usr/share/mysql/ 로 이동 3.2. my-huge.cnf, my-innodb-heav..

프로그램/mysql 2013.09.13

Linux 에서 C 컴파일용 mysql library + header file 구하기.

제목 그대로임. linux 에서 mysql 용 코드를 작성해야 했는데, mysql 을 설치하니 이것이..... 실행 코드만 설치됨. 컴파일용 코드는 따로 설치해야 하는 거다.옆사람이 하다 안된다는 걸 넘겨받아 한 거라, 어떠한 설치 조합을 해야 컴파일이 가능한 버전을 설치할 수 있는지 몰랐는 터라, VM을 이용해서 패키징 설치 후 컴파일을 여러 조합의 수로 확인해 보았다. ( 설치 + complie + Table R/W 까지 확인) 1. 리눅스 설치.2. apt-get install mysql-client mysql-server 3. apt-get install libmysql++-dev4. 이하의 C 코드로 mysql 라이브러리 설치 여부를 확인. #include #include int main(int..

프로그램/mysql 2013.08.05
반응형