웹마스터 팁

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 디비에 접속하여 작업을 할수 있게된다.

끝~
제목 글쓴이 날짜
로딩 100% 후 페이지 이동시키기 [1] ▩윤미 2004.04.30
웹페이지에 테두리 두르기 [5] ▩윤미 2004.04.30
그림파일없이 바꾸는 그라이데이션 배경색 [3] ▩윤미 2004.04.30
접속할때마다 다른 이미지 띄우기 [8] ▩윤미 2004.04.30
특정위치에 떠있는 레이어 (슬라이딩 애드콘) - 노프레임홈에서의 문제해결 [8] 검미르 2004.05.03
상태창에 머문시간 보여주기 [5] ☺심심 2004.05.05
클릭하거나, 바탕을 더블클릭하면 나타나는 작은(크기조절가능) 메뉴 ☺심심 2004.05.17
이미지 갤러리-이미지에 설명이나 이름을 같이 달아줄수 있는.. webzang 2004.05.17
배너를 모자이크로 슬라이드한다! [13] ☺심심 2004.05.17
동영상을 일반 버튼으로 제어 ☺심심 2004.05.23
왔다 갔다 이미지 스크롤 [3] 컴도미 2004.05.25
간단한 감추기/펼치기 스크립트 (태터툴즈의 more 기능) [5] 나이시스 2004.05.28
지바 애플 아날로그 시계 소스입니다... [4] 한성민 2004.06.02
[StylishJAVA]레이어를 이용한 슬라이드 메뉴 [5] ∑Ztxy 2004.06.05
[추천] 가로형 배너 슬라이드 [7] file ⓣinⓣin™ 2004.06.10
볼륨값이 얼마나 될까? [5] PHASE 2004.06.16
[추천] 세로형 배너 슬라이드 [4] ⓣinⓣin™ 2004.06.24
둥근테이블을 홈피에 짜고싶을때../ [12] file zEn 2004.06.28
레이어 특강 1 - 큰일 나는 소스 [23] 미친개 2004.06.30
레이어 2 - 뷁뷁뷁뷁뷁봵 [7] 미친개 2004.07.04