너무 간단한 이야기라서 별로 효용은 없을 듯도 하지만, 내 기억력의 한계를 극복하는 길은 오직 기록하는 수밖에 없다. 이번 수업에 사용될 command line에서 SQL 입력을 위한 MySql 접속 문제는 어떻게 보면 매우 일반적인 문제가 될 수 있겠다.
일단은 MySql이 설치되어 있다고 가정하면, path가 잡혀 있을 것이기 때문에 어디서든 mysql.exe 명령을 통해서 command line 스타일의 MySql 억세스가 가능한 것으로 이론적으로는 이해할 수 있겠다. 그렇다면 단순히
C:>mysql
이라고 입력하면 접속이 그냥 되어야 하는데...
이게 말처럼 되지를 않고 (내가 설치한 php용 환경인 APMSETUP의 경우) "ERROR 1045 (28000) : Access denied for user 'ODBC'@'localhost' (using password: NO)" 라는 에러 메시지가 뜨게 된다. 간단히 설명을 찾아보니 계정 권한 문제니 설정된 사용자 및 암호를 이용해서 접속을 해야 한다는 건데, 내가 뭐 세팅한 것도 없고 뭘 어떻게 고쳐야 할지 모르겠다. MySql을 지우고 다시 깔으라는 이야기까지 나오는데 이건 빈대 잡겠다고 집 태우는 격이고...
다시 좀 찾다가 http://blog.naver.com/PostView.nhn?blogId=hmoai&logNo=50033002305&redirect=Dlog&widgetTypeCall=true에서 힌트를 얻었다. APMSETUP으로 MySql을 설치한 경우 아이디 root의 암호 설정이 apmsetup이라는... 따라서 아래와 같이 입력을 하면 되겠다.
C:>mysql -u root -papmsetup
직관적으로 이해하기에 -u는 사용자(user) 옵션이고 -p는 암호(password) 옵션으로 보이는데, 웃기게도 사용자는 띄어쓰기를 해야 하지만 암호는 띄어쓰기를 하면 안된다. 저렇게 입력을 하고 나면 성공적으로 MySql command line에 접속할 수 있고, 나올 때는 간단히 exit를 쳐 주면 된다.
참고 : 비록 하드디스크의 어느 곳에서나 접속이 가능하지만, 데이터베이스의 생성은 MySql>data 폴더에 생성된다. APMSETUP 기준으로 C:\APM_Setup\Server\MySQL5\data가 된다.
참고 2 : 그런데도 각종 억세스는 현재 접속한 디렉토리에서 사용한다. 예를 들어 .csv등 모종의 파일을 데이터베이스에 넣으려고 한다면, .csv 파일이 위치한 곳에서 mysql 명령어로 접속을 하는 것이 포인트. 또는 해당 디렉토리를 지정해 주면 되는데, 이건 php와 동일하다.
mysql> load data local infile "./data/supermarket.csv" into table supermarket fields terminated by ',' lines terminated by '\r\n';
No comments:
Post a Comment