레이블이 MySQL인 게시물을 표시합니다. 모든 게시물 표시
레이블이 MySQL인 게시물을 표시합니다. 모든 게시물 표시

2021년 1월 20일 수요일

[MySql] HeidiSQL 에서 저장 프로시져 생성시 오류 날때.

MySql 은 기본적으로 제공하는 그래픽 인터페이스가 없다보니 (있긴 한데 불편) 별도의 프로그램을 이용하는편이다. 그 경우 주로 사용하는 것이 " HeidiSQL "

이것 역시 불편하긴 하지만, 그래도 무료로 사용할 수 있는 것중엔 제일 낫다.

일반적으론 사용하는데 별 불편이 없는데 특이한 문제점이 하나 있다.

생성된 프로시저를 복사하기 위해 기존 프로시져의 "CREATE 코드" 를 사용하면 오류가 발생한다는 것. 


복사할 저장 프로시져를 선택하고 해당 프로시져의 생성 SQL 을 복사하여 쿼리창에서 실행하면 오류가 난다.

오픈 소스류 프로그램들이 대부분 그러하듯이 도대체 뭐가 문제인지는 모르겠지만 하여간 오류가 난다는 오류가 난다.

이 경우 쿼리에 문제가 없다면 실행 시킬 쿼리 상단에 "DELIMITER" 를 추가하는 것으로 해결된다.

주의할 점은 DELIMITER 다음에 "//" 를 썼다면 저장 프로시져의 끝에도 "//" 로 끝을 내야하고, "$$" 를 썼다면 저장프로시져 끝에도 "$$" 써야한다는 점이다.

DELIMITER 는 문장의 끝을 의미한다고 하는데, "DELIMITER //" 라고 쓴다면 "//" 까지가 한 문장이라는 의미라고 한다.


무슨 뜻인지 잘 모르겠지만, HeidiSQL 에서 쿼리에 이상이 없는데 저장 프로시져 생성시 오류가 날땐 DELIMITER 를 써보면 보통 해결이 된다.


2018년 8월 16일 목요일

플그램 : XAMPP 로" Apache + PHP + MySQL" 를 쉽게 간단하게 설치

예전엔 "APM Setup" 이라는 프로그램이 있어 Apache + PHP + MySQL 를 쉽게 설치 할수 있었다.

하지만, 이미 오래전부터 "APM Setup" 은 더이상 업데이를 하지 않고 있다. 그래서 과거버젼 (PHP 5.x) 을 사용하는게 아니라면 이제 더이상 "APM Setup" 을 사용할수 없게 되었다.

다행이도  Apache + PHP + MySQL 을 지원하는 패키지는 APM Setup 말고도 있다.

그 중 하나가 "XAMPP".

공식사이트 : https://www.apachefriends.org

배포처 : https://sourceforge.net/projects/xampp/

XAMPP을 이용하면 Apache + PHP + MySQL 을 별다른 절차 없이 쉽게 설치 할수 있다.


일단 배포처에서 설치 파일을 다운 받는다.
기본적인 "Download" 기능을 이용하면 최신 버젼의 "설치파일" 을 다운 받을 수 있다.
이 경우에는 설치에 별다른 설명이 필요 없으니 그냥 알아서 설치 하면 된다.

나의 경우는 Apache 를 굳이 상시로 켜놓을게 아니라 필요할때 그냥 그때 그때 잠시 쓰는게 목적이라서 설치 파일을 다운 받은것이아니라 "포터블" 버젼을 다운 받아서 쓴다.


"Files" 메뉴에 보면 여러가지 버젼의 프로그램파일들이 있으니 필요에 따라 다운 받아 쓰면 된다. 설치본이 필요하면 "installer" 문구가 달린 파일을, 나처럼 포터블 버젼이 필요하면 "portable" 문구가 있는 파일을 다운 받으면 된다.


설치과 포터블 버젼은 거의 용량 차이가 없지만, 포터블 버젼이 약간 더 크다.


포터블 버젼을 다운 받아서 압축을 풀었으면, 해당 디렉토리의 "setup_xampp.bat" 파일을 실행시켜 준다.


그럼 이런 터미널 창이 뜨는데, 이 메시지를 보았다면 설치는 끝난 것이다.


설치가 끝났으니, 이제 아파치를 구동해 보자.
"xampp-control.exe" 를 실행시켜 컨트롤판넬을 띄운다.


이 상태에서 "Start" 버튼을 클릭하면 간단히 아파치 웹서버가 실행... 되어야 하지만, 유감스럽게도 나의 경우는 오류가 발생했다.

이미 다른 웹서버를 쓰고 있는 중인데 이 웹서버가 80 포트를 사용중이기 때문에 오류가 발생하는 것이다.


환경 설정을 위해서 "Config > Apache(http.conf)" 메뉴를 선택.


여기서 "Listen 80" 이라는 항목을 적당한 포트로 변경해 준다. 나의 경우는 "Listen 888" 로 변경해 주었다.


이렇게 설정을 변경후 다시 "Start". 이번에는 문제 없이 실행 되었다.
여기서 "Admin" 버튼을 클릭하면 기본 페이지로 이동한다.


어차피 기본 홈페이지를 보여주는 것이라 그냥 "http://localhost:888" 만 웹브라우져에 입력해 주어도 된다. 만약 나의 경우처럼 사용포트를 변경했을 경우엔 페이지를 찾을수 없다라고 뜰텐데, 당황하지 않고 경로에 포트번호를 추가 해주면 잘 열릴 것이다.


참고로 압축푼 디렉토리에 "passwords.txt" 파일에 보면 기본으로 설정되어 있는 패스워드가 기록되어 있으며, 보다시피 MySQL 에는 비밀번호가 설정되어 있지 않다.


그렇기 때문에 컨트롤 판넬에서 MySQL 의 "Admin" 버튼을 클릭시 바로 MySQL 관리자 페이지가 열리니, 가급적 관리자 비밀번호를 변경해 주는 것이 좋다.


2016년 9월 8일 목요일

플그램 : 무료 MySql / Ms-SQL DataBase 관리자 "HeidiSQL"

아주 예전에는 Database 하면 시커먼 커맨드 창에서 명령어를 직접 치면서 주르르 흘러내리는 데이터들을 Scroll Rock 시키며 한화면씩 잘라서 보는게 당연한 시절이 있었지만, 지금은 그렇게 하라면 아무도 프로그램 못짤거다... (아니... 현장에서야 아직 그렇게 작업하는 사람들이 있기야 하지만...)

하여간 요즘엔 Database 관리는 그래픽 UI 에서 당연한 세상이 되었지만, Ms-SQL 이나 Oracle 같은 경우는 자체 프로그램을 지원해 주지만, MySql 같은 오픈소스 계열 DB 는 여전히 전용 프로그램을 지원해 주지 않아, 시커먼 콘솔 화면을 들어다 보며 작업해야 한다.

물론, phpMyAdmin 같은 지원 도구가 있기는 하지만, PHP 에 웹 페이지로 구동되는 거라, 사용에 좀 제약이 있다.

하지만, 다행이 무료로 쓸수 있는 DB 관리 툴도 있다.

배포처 : http://www.heidisql.com/



2016년 1월 4일 월요일

node.js 에서 MySql 연결하기

node.js 를 쓴다면 DB 는 거의 mySQL 일거다.
그만큼 node.js 와 mySQL 을 붙이는것은 쉬움.

그냥 패키지 관리자에서 mysql 모듈을 설치만 하면 모든 준비가 끝.
(물론 그전에 mySQL 은 설치가 되어 있어야 하겠지만.)


이렇게 모듈을 설치하면 그 다음에는 그냥 소스에서 데이터를 불러 쓰면 되는데...


샘플 데이터 만들기 귀찮으니, 그냥 시스템 테이블을 불러 와보자...
그냥 사용할 node.js 소스에서 require("mysql") 을 사용해 객체를 만들고 쓰면 된다.



var mysql = require("mysql");
var connection = mysql.createConnection({
    host : "localhost",
    port : 3306,
    user : "root",
    password : "$",
    database : "mysql"
});

var sqlQuery = "select * from user";
  
connection.connect();
connection.query(sqlQuery, callback);
connection.end();

function callback(err, rows){
    if(err){
        console.error('error connecting: ' + err.stack);
        return;
    }  
    
    for(var i=0 ; i < rows.length ; i++){
        console.log("Host : " + rows[i].Host + " | User : " + rows[i].User);
    }
}


주의 해서 볼 곳은 connection.query() 에서 callback() 부분인데, 이것은 DB 쿼리가 끝났을때 실행할 함수를 지정하는 것. 이렇게 소스를 생성하고, 실행을 해보면...


이렇게 mySQL 에 있는 내용이 출력이 된다. 참고로, callback 함수를 반드시 저렇게 별도로 작성할 필요는 없다.


이렇게 query 구문에 같이 넣어서 만들어도 완전히 똑같이 동작한다.






2015년 11월 20일 금요일

MySQL : 윈도우에서 MySQL 설치하기

예전에 학교에서 공부할때야 많이 썼지만, MySQL 은 GPL 라이센스라 MySQL 로 개발을 하면 GPL 로 소스를 공개 해야만 하니, 최근에는 거의 손댈일이 없다.

근데, 역시 어쩔수 없이 써야하는 경우도 있으니, 일단 여기에 정리해 둔다.

MySQL 을 쓸경우 PHP 웹사이트를 만들기 위해 설치하는 경우가 많으므로, 이럴 경우 "http://www.apmsetup.com/" 에서 설치파일을 받아 설치하는게 가장 간단하지만, 단순히 MySQL 만 필요한 경우도 있으므로 공식 MySQL 사이트에서 개별로 설치해본다.

일단 "http://www.mysql.com/" 로 가서 다운로드 페이지로 이동.



"GPL 라이센스" 버젼을 사용할 경우 여기서 "MySQL Community" 를 다운 받는다.
(MySQL 은 "GPL 라이센스" 를 적용 받을 뿐... "무료" 가 아니므로 상업적 이용시 주의 해야 한다.)


여기서 윈도우 버젼을 선택하면...


두가지 선택사항이 나오는데, 용량이 작은 것은 웹다운로드 방식으로 설치하는 것이고, 용량이 큰것은 전체 설치파일을 모두 다운 받은 후 설치하는 것이다.
원하는 방식을 고르면 된다.

그러면 이렇게 로그인 하라는 창이 뜨는데...


그냥 하단에 "No thanks, just start my download." 를 선택하면 로그인 하지 않고도 다운 받을 수 있다.


라이센스 동의 창이 뜨는데 동의 해주고...


설치 타입을 물어 보는데, 원하는 방식을 선택하면 되지만, 무난하게 "개발자" 혹은 "전체" 를 선택하자.


그러면 설치하려는 장치에 필요한 프로그램들이 설치되어 있는지 확인하는 단계를 거친다.
나의 경우는 이미 거의 설치가 되어 있어서 별로 추가 설치 항목이 안나오지만, 추가 설치가 필요한 장치에서는 설치하기 메뉴가 나올것이다.

나의 경우에는 추가 설치가 필요하다는 프로그램이 내게는 필요 없는 항목이므로 무시하고 넘어간다.


그냥 다음 단계로 넘어가려 하면 경고 메시지가 나오지만, 내게 필요없는 항목이라면 설치 하지 않아도 된다.


그 다음 화면에서 설치할 항목들이 나오는데, "설치하기" 를 선택.



다 설치되었으면 다음으로 넘어가고...


이것도 기본값으로 지정.
사용 포트를 여기서 바꾸면 되지만, 안바꾸는 것을 추천함.


관리자 패스워드를 지정한다.
추가로 사용자를 등록할 수 있으니, 필요하면 등록하면 된다.


윈도우 실행시 자동으로 실행할 것인지 여부를 선택.


선택 사항대로 설치를 진행하면...


설치가 완료되고 나서 접속이 되는지 테스트를 한다.
접속가능한 MySQL 아이디 (이전단계에서 등록한 아이디) 로 접속을 시도한다.

"Check" 버튼을 클릭시 "Connection successful" 이라고 뜨면 정상.


계속 설치를 진행...


여기까지 설치된 후 "다음" 버튼을 클릭하면 ...


설치가 완료 되었다.

"Start MySQL Workbench after Setup" 이 체크된 상태에서 "Finish" 버튼을 클릭하면...


이렇게  "MySQL Workbench" 가 실행되는데, 여기서 등록되어 있는 DB 를 선택하면...


이렇게 root 패스워드를 묻는다.
패스워드를 넣고 로그인 하면...


이렇게 관리 콘솔이 뜨는데, 여기서 쿼리 창에다 SQL 문을 입력하고 실행 해 볼수 있다.