웹 사이트들은 이전 버전 mysql 3.x.x 의 설명만 잔뜩 담아놨길래,
할 수 없이 mysql 소스에 있는 html문서를 뒤져뒤져 사용자 계정 설정을 찾았다.


1.간단히 사용자 계정 만드는 법
일단 root로 login 한 다음
shell> mysql --user=root -p mysql


일반적으로 mysql은 사용자 계정을 user table에 등록하고 관리한다.


mysql> GRANT ALL PRIVILEGES ON *.* TO 'kid'@'localhost'
-> IDENTIFIED BY 'kid1234' WITH GRANT OPTION;

mysql> GRANT ALL PRIVILEGES ON *.* TO 'kid'@'%'
-> IDENTIFIED BY 'kid1234' WITH GRANT OPTION;

mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';

mysql> GRANT USAGE ON *.* TO 'kid'@'localhost';



'kid' : 사용자 계정(작은 따옴표는 문자를 나타낸다.)
'kid1234' : 계정 패스워드



2. user table에 직접 tuple을 넣어 사용자 계정을 만드는 법


일단 root 계정으로 로그인
shell> mysql --user=root -p mysql


mysql> INSERT INTO user
-> VALUES('localhost','kid',PASSWORD('kid1234'),
-> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');


mysql> INSERT INTO user
-> VALUES('%','kid',PASSWORD('kid1234'),
-> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');


mysql> INSERT INTO user SET Host='localhost',User='admin',
-> Reload_priv='Y', Process_priv='Y';


mysql> INSERT INTO user (Host,User,Password)
-> VALUES('localhost','dummy','');


mysql> FLUSH PRIVILEGES;



'kid' : 사용자 계정(작은 따옴표는 문자를 나타낸다.)
'kid1234' : 계정 패스워드


SQL문을 아는 사람들은 이해가 될것이다..
user table에 각 값들(VALUES 뒤의 많은 값들...)을 insert한다.


각 값들이 무엇을 의미하는지 보려면?
select * from user;


큰 table이 하나 나온다.
각 계정에 대한 권한을 줄 것인지('Y') 말 것인지('N')
자세한 건 매뉴얼을 참고하라.. ㅡㅡ;;



3.간단히 DB 만드는 법


또 root 계정으로 로그인(이미 로그인 해서 접속하고 있으면 할 필요가 없다 ㅡ.ㅡ;)
shell> mysql --user=root -p mysql


사용자 계정을 user table에서 관리하듯이, 생성된 DB는 db table에서 관리한다.


mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON bankaccount.*
-> TO 'custom'@'localhost'
-> IDENTIFIED BY 'obscure';



bankaccount : 생성할 DB명
custom : 생성할 DB와 연결할 사용자 계정
obscure : 사용자 계정의 패스워드



4. db table에 직접 tuple을 넣어 DB을 만드는 법


역시... 두말하면 잔소리겠지만.. root로 로그인
shell> mysql --user=root mysql


사용자 계정을 만든다..
(앞의 항목에서 한 거와 동일한 작업임.)


mysql> INSERT INTO user (Host,User,Password)
-> VALUES('localhost','custom',PASSWORD('obscure'));


mysql> INSERT INTO db
-> (Host,Db,User,Select_priv,Insert_priv,
-> Update_priv,Delete_priv,Create_priv,Drop_priv)
-> VALUES('localhost','bankaccount','custom',
-> 'Y','Y','Y','Y','Y','Y');


mysql> FLUSH PRIVILEGES;



역시나 db table에 각 튜플의 속성을 넣는다.
VALUES에 뭐가 있는 지 궁금하면?


그렇다..
select * from db;


자세한건 메뉴얼을 참고.. ㅠ.ㅜ


휴~ 이전 버전과 달리 스키마가 몇개 늘어난 거같다.
(객관적인 정보가 아님, 느낌상;;)


아직 문제가 남아있다. 제로보드 4.1대 버전과 호환이 잘 안된다.
관리자 테이블 생성의 오류가 남아있고..
기타 등등...


할 일이 많다.. 쩝;;
Posted by xHuro
,