본문 바로가기

데이터베이스/MySQL

MySQL 사용자 인증 ( 계정만들기 )

이전에 사용하던 MySQL-3.x.x 버전의 경우와는 틀린것 같다. 보완에 신경을 많이 쓰고 있는 것을 확인할 수 있다.  MySQL-5.x.x 버전으로 설치를 하고 개인 홈페이지를 다시 운영하기 위해서

세팅하던중 예전에 사용하던 계정추가 관련된 쿼리가 에러가 나느것을 확인하여 퀄럼이 맞지 않는다는 것이다.


확인하기 위해서 좀 더 살펴보기로 하였다 .



접속을 한 후, mysql에서 계정관련 테이블이 있으므로

mysql > use mysql

mysql > show tables;

을 하여 mysql 데이터베이스에 관련된 테이블을 볼 수 있다.


이와 관련된 정보를 가지고 계정을 추가해야 된다. 하지만 user 테이블 안에 어떻게

설계가 되어 있는지 확인할겸 열어보았다.. 예전에 계정을 만들때 사용하던 퀄럼 수

자체가 틀린것을 확인 할 수 있다. 기본적이 권한을 설정하는 것이 여기에 나와 있었다.





이와 같이 컬러 수가 틀린 것을 확인하고 퀄럼 수에 맞게 수정하였다.

다음은 db에 관련된 권한을 주기 위해서 db 쿼럼을 확인하였다.






이와 같이 설계되어 있음을 알 수 있다. 종합적으로 수정을 하게 되면은


// 일번적으로 계정과 관련된 디비에 대해서 어떠한 권한을 주면 안된다.

// 그러므로 자신의 디비외에는 아무것도 할 수 없는 권한으로 설정해야 한다.

// 이와같이 설정하려면 모두 'N' 처리함.

mysql > insert into user values ('localhost','AccountName',password('PASSWORD'), \
-> 'N','N','N','N','N' ,'N','N','N','N','N','N','N','N','N','N', 'N','N','N' ,'N', \
-> 'N','N','N','N','N','N','N','','','','',0,0,0,0);



// 자신의 DB에 대해서 행위에 대해서 제한을 두면 안되기때문에

// 자신에게 주어진 DB만 행위할 수 있다. 그러므로 전부  'Yes' 처리함.

mysql > insert into db values('localhost','DBNAME_db','AccountName', \
->'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');


계정과 권한을 설정한 후,

 /usr/local/mysql/bin/mysqladmin create 'DBNAME_db
 /usr/local/mysql/bin/mysqladmin reload


[root@tingcobell ~] # ./mysql -uAccountName -pPASSWORD DBNAME_DB

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12 to server version: 5.0.22-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

와 같이 접속되는 것을 확인할 수 있구 테이블도 생성도 가능하였고 drop도 가능한 것을 테스트 하였다.