'mysql'에 해당되는 글 2건

  1. 2015.08.18 mysql 이용하기
  2. 2015.08.13 node.js를 이용하여 mysql에 접속하기 (1)

mysql 이용하기

컴공/mysql 2015.08.18 16:52

mysql을 사용하는데 계속 인터넷 검색하기 귀찮아서 일단 제가 쓰는 명령어들을 한곳에 모아서 정리해보았습니다.

 근데 몇가지 기능들을 가능한데

sql 파일을 데이터베이스에서 실행하는 부분이 안되네요 ㅠㅠ 

이거 하실줄 아는 분 댓글좀 달아주시길 바랍니다.



<mysql접속>

cmd 창 -> "mysqld" 입력 ->끝


<접속된 뒤의 사진>

참고로 접속된 cmd 창을 임의로 끄시면은 컴터 껏다 켜야 mysql 사용할 수 있습니다.

그리고 접속된 뒤에 다른 cmd 창으로 mysql 접속할 수 있습니다.

 


<mysql 접속>

cmd 창 실행 -> mysql -u root 입력 -> 실행됨


<접속된 뒤의 사진>

<mysql 상태보기>

mysql에 접속한 뒤에 status를 입력

<상태창 화면>


<database 확인하기>


mysql 접속 -> show databases; 입력 -> database 화면 

<database 화면>


<database 선택하기>

mysql 실행 -> use 데이터베이스이름; -> database 선택 성공



<데이터베이스의 테이블 확인하기>

mysql 실행 -> 데이터베이스 선택 -> show tables;입력 -> 테이블찰 확인

<테이블창 확인>


<데이터베이스에 테이블 생성>

create table 테이블명(

칼럼이름 칼럼데이터유형(크기) 조건(not null, unique 등등) (기본키이면primary key),

칼럼이름 칼럼데이터유형(크기) 조건(not null, unique 등등)

칼럼이름 칼럼데이터유형(크기) 조건(not null, unique 등등)...

);


<데이블 삭제>

데이터베이스 선택 -> drop table 테이블명; -> 테이블 삭제


<삭제 확인>

아까 생성한 bb테이블이 사라짐

<유저 아이디 생성>

mysql실행 -> create user 유저이름 identified by "비밀번호"; 입력 -> 새로운 유저 생성


<데이터베이스 생성>

mysql 실행 -> create database 데이터베이스이름; -> 데이터베이스 생성됨


<권한주기>

여기는 어떤 권한을 줄지는 각자 search해보시길...

mysql 실행 -> 

grant all privileges on 데이터베이스이름.* to 유저이름;

flush privileges; 

-> 권한부여 끝


<mysql에서 나가기>

quit 이나 exit 를 입력 -> 종료됨


<mysql 종료하기>

mysql에 접속할 때 cmd 창에서 mysqld를 입력하며 접속을 하였다. 

이것을 종료할 때 그냥 cmd창을 꺼서는 안된다.  

mysql을 종료할 때는 cmd 창에 "mysqladmin -u root shutdown" 을 입력하길 바란다.





---------------------------------------------------------------------



<sql 파일 입력하기> - 이거 왜이런지 아시는분 답글좀...주세요 ㅠㅠ

오류남 !!

cmd 창에서 디렉토리 파일을 잘 맞추세요 저는 c드라이버에 member2.sql파일을 놔두었습니다.

mysql -u root -p 데이터베이스이름 < ./member2.sql 를 입력

오류가난다. 왜이런지 모르겠다. ㅠㅠ


'컴공 > mysql' 카테고리의 다른 글

mysql 이용하기  (0) 2015.08.18
Posted by 구레이더

서버 사이드 언어라면 mysql을 연동할 수 있는것이 당연하다. 

일단 여기서 전제는 mysql을 다들 쓰실줄 아는 것으로 하겠다. 

노드에서는 mysql의 접속을 도와줄 mysql이라는 간단한 모듈이 있다. 

"mysql"모듈을이용하여 mysql에 접속해보겠다.


처음엔 cmd 창에서 mysql을 실행하겠다. 이미 데이터베이스와 사용자 id는 생성되어있습니다.

mysql 실행

mysql 접속하여 현재 상태를 확인해 보겠습니다. 


현재 mysql에 생성된 데이터베이스 목록들입니다.



<프로젝트 생성>

1. package.json 작성

우리는 mysql 모듈만 사용할 것입니다. "mysql":"*"를 작성한 뒤 모듈을 추가합니다. 

오른쪽 클릭후 [run npm update]를 누르시면 됩니다.

2. 그리고 app.js 를 생성하여 코딩을 할 것입니다.

3. app.js 코딩

/**
* Created by HOME on 2015-08-13.
*/
// 1. 필요한 module require - mysql
var sql = require("mysql");
// 2. mysql 접속 경로 설정
//option 객체에 데이터들을 넣는다. 접속은 내 pc로 하기 때문에 localhost이며
//포트번호는 mysql이 지정된 3306을 사용한다.
//그리고 미리 만들어 놓았던 아이디와 비밀번호인 nodejs를 이용하여
//library 데이터베이스에 접근한다. 이것은 내가 미리 만들어 놓은 것들이다.
var option = {
host: "localhost",
port: 3306,
user : "nodejs",
password : "nodejs",
database : "library"
};
// 3. 접속하는 객체생성
//sql 객체에서 연결을 담당하는 객체에 option을 넣으며 연결담당 객체를 받는다.
var conn = sql.createConnection(option);
// 4. mysql 접속
conn.connect();
// 5. mysql 쿼리문과 콜백함수 정의
//잊지마라 노드는 비동기처리를 한다. 그렇기에 작업을 받고 sql에 던저놓고 다른 일을 한다.
//그리고 그 일이 끝났을 때 이벤트가 발생하며 다음에 정의된 함수가 실행되게 되어있다.
//일단은 DB에 접속하기 위한 코드이므로 출력을 해보겠다.
conn.query("select * from books",function(err,results,field){
console.log(err);
console.log(results);
console.log(field);
conn.end();
});


4. 콘솔창 확인

많은 자료들이 콘솔에 출력되었다.





만약 쿼리문이나 중간에 오류가 있다면 일부러 password->passward로 고쳐보았다. 이것은 제가 실습중에 실제로 한 실수이며 오류코드를 찾는데 한참 결렸니다. 이것으로 보아 이 option을 넘기는 값의 변수이름까지 정해져 있다고 보아도 무방할 것입니다. 이것은 변수들을 mysql에 비교 대입하기 때문에 값뿐만 아니라 key값까지 조심해야 합니다.



결과창은 에러가 출력 됩니다. 이것은 결과값이 err에 들어가고 이것을 콘솔창에 찍었기 때문입니다.




각자 쿼리문은 알아서 잘 sql문에 맞게 작성하시면 올바르게 나오니 걱정 마시구요. 하지만 이런 코드를 작성하였을때 한가지 문제점이 있습니다. 그것은 바로 연결을 할때 시간이 오래걸리는 점입니다. 사용자가 적다면 이것은 크게 문제시 되지 않지만 만약 사용자가 많다면 문제가 발생할 것입니다. 이런 문제점을 예방하기 위하여 mysql은 DB Pool이라는 개념이 존재합니다. 이것은 미리 mysql과 연결되어 있는 connection을 만들어서 사용자가 요청이 들어오면 이것을 할당해주고 나중에 반납하는 형식으로 하여서 맨처음 DB Pool을 생성할 때에만 시간이 소요되며 결과적으로 연결 시간을 절약할 수 있습니다. 이것에 대한 방법은 다음 시간에 알아보도록 하겠습니다.






Posted by 구레이더


티스토리 툴바