2014년 5월 30일 금요일

[MySQL] 윈도우에서 use mysql; 에러 1044(42000)



설치했다가 지웠다가 할 때

경로를 다르게 설정할 경우

설치를 다시 하라고 하며 에러가 나는 경우를 볼 수 있습니다.


하지만 설치는 된 상태죠

이때 실행해서 로그인하면

mysql -u root -p 했을때 비밀번호가 없는 상태인 걸 알 수 있습니다.

그런데 비밀번호를 설정하려고 use mysql;

을 하면 다음과 같은 에러가 나는데요,


ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
mysql> use mysql;


이 경우 이렇게 하시면 '127.0.0.1'@'localhost' 로 접속할 수 있습니다.

mysql -h 127.0.0.1 -u root -p 

2014년 5월 14일 수요일

[MySQL] CASCADE 가 안될 때


ALTER TABLE `테이블` ADD CONSTRAINT `constraint이름` FOREIGN KEY(`내키`) REFERENCES `부모테이블`(`부모키`) ON DELETE CASCADE


구문이 작동 안되는 이유?


foreign key를 나중에 추가해서 CASCADE 설정하려고 하면 일어나는 일입니다.


DBMS에서는 ADD CONSTRAINT 구문이 먹은것 처럼 보이지만 사실은 먹지 않죠.


참조하는 테이블과 참조 당하는 테이블을 다음과 같이 innodb 설정해야 합니다.


ALTER TABLE `원하는테이블` engine=InnoDB;

그리고 참조당하는 부모 튜플이 미리 생성되어 있어야만 합니다.


2014년 5월 10일 토요일

[Node.js] 간단한 웹 서버 제작하기.

Hello SyntaxHighlighter

Web Server

var express     = require('express'),
    app         = express();

//app.use(express.static(__dirname + '/html')); 
//html 폴더 밑에 있는 파일들을 요청이 있을때 접근 가능하도록 합니다.
//예를들면 js 파일들이 html/js 폴더안에 있을때 위 선언을 해주면
//index.html 파일에서 접근이 가능하게 되죠.

app.get('/', function(req, res) {
    res.sendfile(__dirname + '/index.html');
});

app.get('/*', function(req, res) { 
//다른 경로를 요청했을때, 실제 그 경로에 있는 파일을 전달합니다.

 res.sendfile(__dirname + req.url,function(err){
  console.log(err);
  res.send(403, '잘못된 접근입니다.');
 });
});

app.listen(80); //Http 기본 포트인 80.