웹마스터 팁

MySQL 사용자 계정주기

2002.03.12 21:44

pai

편의상 존칭은 생략합니다.

MySQL을 처음 설치하고 나서 먼저 root(관리자)는 비번을 설정해야 한다.
그런지 않은경우 일반사용자(계정을 받은자)가 MySQL에 접속을 하게되면 비번없이 접속을 할수 있게된다...그러면 큰일이다...^^

[shell]# /usr/local/mysql/bin/mysql -u root mysql <Enter>

mysql> update user <Enter>
-> set password = password('비번')  <Enter>
-> where user = 'root'; <Enter>
Query OK, 2 row affected (0.00 sec)

또는 한줄로...

mysql> update user set password=password('비번') where user='root';
Query OK, 2 row affected (0.00 sec)

이렇게 하고 나서...

[shell]# /usr/local/mysql/bin/mysqladmin -u root -p reload [Enter]

로 MySQL 을 재가동 시켜주면 일반사용자가 감히 접근을 못하게 된다.

이제 사용자에게 디비를 분양할 준비가 되었다. 먼저 사용자가 입주할 디비를 만들 차례이다.

[설정]
사용자 아디 : pai
사용자 비번 : pai2002
사용자 디비이름 : paidb

mysql> create database paidb;
Query OK, 1 row affected (0.01 sec)

확인을 해보자!

mysql> show databases;
+-----------+
| Database |
+-----------+
| mysql  |
| test      |
| paidb   |
+-----------+
3 rows in set (0.00 sec)

리눅스의 경우 디폴트로 설치한 경우 /usr/local/mysql/var/paidb 이런 식으로 디렉토리가 생성되는것 같다. 이 디렉토리가 데이타 베이스 공간으로 이용될 곳이다.

이러면 다 되는가? 아니다.
paidb 라는 집만 지었을뿐 문패도 없고 대문열쇠도 없는 집만 있는 셈이다.

user용 DB와 mysql 관리테이블과의 Link, 사용자등록 및 각각의 권한설정이 이루어져야 한다. 이것이 바로 실제적인 분양이 되는 셈이다.

자 이제 생성된 데이타베이스와 데이타베이스 관리및 엑세스 권한등을 정의하고 있는 mysql 상의 db, user 테이블에 방금 생성된 paidb Database 내용을 정의 하자.

mysql> insert into db [Enter]
-> values ('%','paidb','pai', [Enter]
-> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y') [Enter]
-> ; [Enter]
Query OK, 1 row affected (0.01 sec)

위 4줄을 모두 한줄로 붙여서 써도 결과는 마찬가지이지만 보기좋게~ ^^

자 이제 paidb 이라는 db 사용자에 대한 등록을 할 차례이다.

mysql> insert into user [Enter]
-> (host,user,password) [Enter]
-> values ('localhost','pai',password('pai2002')) [Enter]
-> ; [Enter]
Query OK, 1 row affected (0.00 sec)

db 테이블과 user 테이블에 사용자를 등록시키는 방법이 조금 차이가 나는걸 볼수가 있다. root의 수고를 최소화 하기위해 기본설정값(N)을 빼고 설정을 하게 되면 아무래도 수월하기때문이다. 자세한건 자세한 문건을 보길...ㅠㅠ
___________________________________________________________________
중요한 tip......
-------------------------------------------------------------------
user 테이블에 사용자를 insert, update 한 경우 MySQL을 꼭 재기동시켜 주어야만 한다. 명령은 다음과 같다.
[shell]# /usr/local/mysql/bin/myaqladmin -u root -p reload
이 명령은 user 테이블에서 사용자 정보를 다시 읽어서 MySQL 을 다시 실행시켜준다.
-------------------------------------------------------------------

위의 과정을 거치게 되면 비로소 pai라는 이용자는 텔넷접속후에
[shell]$ /usr/local/mysql/bin/mysql -u pai -p paidb [Enter]
라는 명령으로 자신의 MySQL 디비에 접속하여 작업을 할수 있게된다.

끝~
제목 글쓴이 날짜
throttle-me를 이용한 계정 트래픽 나타내기 [39] file 旻天 2003.11.27
제로보드회원의 포인트 랭킹 체크하기 sql 정리 [4] 한꼬마 2003.11.26
한꼬마의 제로보드 이용법 (sql로 테이블 호출) [2] 한꼬마 2003.11.26
[Lotto 6/45] 로또 추첨 구현하기~ [5] file 전원주 2003.11.21
한꼬마의 제로보드 활용방법 (로그인 값 알아 보기) [3] 한꼬마 2003.11.20
회원 포인트 랭킹(중복 -_-a) [4] file weky 2003.11.15
제로보드회원의 포인트 랭킹 체크하기 [13] file 전원주 2003.11.15
지금은 시스템 점검중 만들기... [8] zentoo.com 2003.11.11
접속자의 IP를 화일로 저장(기능추가) [27] 전원주 2003.11.06
호스팅업체에서 GD를 지원하는지 여부를 알 수 있게해주는 소스 [12] Wizard 2003.11.05
홈페이지 관리자 모드 구축하기 (HTTP 인증, 중복 맞음) [10] file 9000㎒ 2003.11.01
include, onload, <span id=...> 다계층메뉴 활용 강좌 [2] 김병희 2003.10.25
신문기사 긁어오기 [28] horizon 2003.10.20
공지사항|일기장 4강 - notice.php 간단한 글보이기 시루바 2003.10.16
최신인기가요 순위 한방에 뽑아오기 [10] 제누스 2003.10.16
알기쉬운 웹용 MySQL 관리도구, phpMyAdmin 설치하기 [10] 허창원 2003.10.11
MSN Messenger Class - file HungryMania 2003.10.10
공지사항|일기장 3장 write_ok.php //간단한 입력쿼리문//수정 [5] 시루바 2003.10.08
내 홈페이지의 방문자 어디서 접속했을까 알아봅시다 [21] file 버찌소년 2003.10.08
공지사항|일기장 프로그램 2장:코딩구조와write.php [2] 시루바 2003.10.02