MySQL

MySQL 설치후 가장먼저 해야할일 (2)

RYU™ 2011. 4. 26. 15:32
반응형
MySQL 설치후 가장먼저 해야할일 (2)

MySQL 설치후 기본적으로 설치되는 데이터베이스는 2개가 존재한다.

1) mysql(중요)
2) test

mysql 데이터베이스에는 root 비번이나 사용자 계정/권한정보등이 저장.
mysql 데이터베이스에는 여러개의 테이블이 존재하지만 일반적으로 db,user테이블을 많이 쓴다.

mysql>show databases; <Enter>

MySQL 서버안의 데이터베이스를 보여준다.


ο MySQL -> 대문자 => 서버
ο mysql -> 소문자 => 데이터베이스

mysql>use mysql; <Enter>

mysql 데이터베이스를 사용하겠다는 의미

MySQL 서버안에 mysql 데이터베이스에는 5개의 테이블이 존재하고 그 계정에 대해서 데이터베이스를 부여하려면 반드시 5개의 테이블안에 정보를 입력해야 한다.

=>데이터베이스와 사용자와의 관계를 설정하려면 db테이블과 user 테이블을 알아야한다.

db 테이블 : 일반사용자 계정등록
user 테이블 : 일반사용자에게 특정 데이터베이스 권한 부여하기

mysql>use mysql; //mysql 데이터베이스를 사용하겠다는 의미
mysql>desc db; //테이블의 구조를 볼 수 있다.
mysql>desc user; //테이블의 구조를 볼 수 있다.


일반 사용자 생성및 데이터베이스 권한주기

예제) "aaa"라는 데이터베이스를 만들고 "jiryu" 이란 계정을 만들며, "jiryu"이 "aaa"데이터 베이스를 사용할 수 있도록 권한을 부여하기

=>insert into 문으로 user 테이블에 사용자 : jiryu 비번 : 1234 를 넣으며 권한은 주지않는다.

왜?.........

User 테이블에 권한을 줄경우 root 권한을 갖게 되므로 주지 않는다.
기본권한이 N(No)이기 때문에 주지 않아도 된다.

User 테이블에 "jiryu" 이라는 계정을 만들고 비밀번호(1234) 부여하기

mysql> insert into user (host,user,password) values ('localhost','jiryu',password('1234')); <Enter>

비밀번호는 password()함수를 써서 저장한다.(그냥 저장해도 상관은 없다.)

mysql> select host,user,password from user; <Enter>



"jiryu"이라는 사용자에게 "aaa"데이터베이스 권한 부여하기

mysql> insert into db values ('localhost','aaa','jiryu','y','y','y','y','y','y','y','y','y','y'); <Enter>
mysql> flush privileges; <Enter> //갱신하기

권한을 부여한후 "flush privileges;"로 권한을 새로 읽어오지 않으면 제대로 동작하지 않는다.


"jiryu" 이라는 계정으로 "aaa" 데이터베이스 접속하기

# mysql -u jiryu -p aaa <Enter>
Enter password : **** <Enter>


mysql> OK!!

성공적으로 계정생성과 특정 데이터베이스 권한을 주었다!!

반응형