웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
MySQL 사용자 계정주기
2002.03.12 21:44
편의상 존칭은 생략합니다.
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 디비에 접속하여 작업을 할수 있게된다.
끝~
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 디비에 접속하여 작업을 할수 있게된다.
끝~
댓글 10
-
어릭@정크
2002.03.22 12:32
-
DogMa
2002.05.08 16:00
grant 문을 사용하면 이 모든 과정들이 1분에 끝납니다. .
아니 1분도 안걸리겠쬬.. 정크님의 글 추천합니다. -
은주
2002.06.08 13:12
어..렵..다..;;
요런죠론..;; 전 못하겠어요~;; 만들거 싶은뒈.. -
Brake
2002.06.19 20:15
myadmin인가.. 요거 사용하면 편하던데요.. ㅋㅋ
요기 자료실에도 많구.. ㅋㅋ 근데 튜닝하는게 어려워서... ㅜ,ㅜ -
김동현
2002.06.20 15:48
전 정크님과 같은 방법으로 했었습니다. 정말 그렇게 하면 편하고 좋지요...잘못될 염려두 없고... -
강선욱
2002.09.27 13:22
죄송합니다 완전 초보입니다.질문을 해서 죄송합니다만..
GRANT~ 이런문장을 써 넣어야 할곳이 텔넷으로 접속한 화면에서 하는것입니까~
그리고요 "Dogma"님이 가르쳐 주신대로 하면 "dbname"과 "password"는 임의로 정해주는것입니까? 예를들어 "dbname"에 "AAA"..."password"에 "0000"이렇게~
너무 초보적인 질문인것 같아 송구스럽습니다. -
다레스
2002.11.08 18:16
감사합니다. 휴~ 다시 생각해보면 참 쉽네요 -_-;; -
다레스
2002.11.08 18:17
추천 눌르고 갑니다. -
김우영
2003.01.13 16:18
위의 내용대로 테이블과 계정 비번 생성했을때 제로보드 사용가능합니까? 제가 해보니 제로보드그룹추가시 만들어지지 않는군요. 왜그렇죠? -
박종필
2004.11.26 21:35
몇번씩이나 보고 도움을 받고 가면서 그냥 가는게 양심에 찔려 감사의 말을 적고 갑니다.
잘 기억이 안 날 때면 항상 여기를 찾게 되는군요. 크크...
제목 | 글쓴이 | 날짜 |
---|---|---|
하드디스크의 모든성능을 써버리자! [4] | 임현 | 2002.06.14 |
BIND - DoS Vulnerability [1] | 야쿠자 | 2002.06.07 |
프비에서 apache2 쓰실때 참고하세요. [2] | _a_SPD_a_ | 2002.05.29 |
가상호스트 i- 님의 강의에 덧붙여서 | 이종렬 | 2002.05.24 |
웹호스팅 서버세팅 쉽게하기 팁[윈도우 메모장 이용] [3] | 김영남 | 2002.05.14 |
텔넷에서 다른 계정사용자의 홈디렉토리 접근 막기 [4] | 김영남 | 2002.05.11 |
Redhat 7.3 나왔습니다. [20] | 야쿠자 | 2002.05.10 |
[알아서 나쁠것없는 10원짜리 팁!] 수십 수백명사용자의 일괄생성 방법! [6] | 임현 | 2002.05.09 |
Redhat7.2에서 apache,mysql,php,zend,gd,freetype,giflib,jpeglib,zlib 설치하기 [14] | DeX™ | 2002.05.04 |
개인서버구동시 서버커널 메모리로....(렉생기시는분들 강추) [2] | 홈1004 | 2002.05.03 |
DB 디자인 툴 소개 [2] | 석이 | 2002.04.21 |
Apache2.0.35 + php4.3.0-devel 설치하기;; [15] | Cksoft | 2002.04.08 |
[mysql을 하자 3] DB서버 원격 사용자,DB 만들어 사용하기 [5] | 비바람 | 2002.03.13 |
[mysql을 하자 2] (pai님도 하신^^)사용자와 db를 맹글자 [4] | 비바람 | 2002.03.13 |
[mysql을 하자 1] mysql 종료와 재부팅 | 비바람 | 2002.03.13 |
MySQL 사용자 계정주기 [10] | pai | 2002.03.12 |
리눅스 아주 간단한 사용자 계정 주기-_- [7] | i- | 2002.03.12 |
아래 pai님 도메인셋팅 강좌 세부파일들 예제 :) [3] | 아르체 | 2002.03.06 |
근사모의 APM_steup3설치 법 [5] | 뽀유★ | 2002.03.01 |
리눅스서버 : 도메인 가진 사용자 추가하기 (텔넷,FTP,이메일 사용) [5] | pai | 2002.02.27 |
GRANT ALL PRIVILEGES on dbname.* to userid@localhost IDENTIFIED BY 'password' WITH GRANT OPTION; 해도 됩니다 이러면 리로드 할 필요가 없죠.