MySQL 사용자 계정 관리

* 계정 추가
1) 먼저 DB에 접속해서 DB를 생성한다.

mysql> CREATE DATABASE <DB_NAME>;


2) 사용자를 추가함 과 동시에 DB에 대한 권한을 부여한다
GRANT <PRIVILEGES> ON <DB_NAME>.* TO <USER_ID>@<HOST> IDENTIFIED BY '<PASSWORD>'

와 같은 명령을 입력하면 된다. 각 인자에 대한 설명은 다음과 같다.

<PRIVILEGES>: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP 중 선택해서 넣어준다. 또는 ALL를 사용해도 된다.
<DB_NAME>: 접근 권한을 줄 DB 이름
<USER_ID>: 접근 권한을 시킬 ID
<HOST>: 호스트. 보통은 localhost를 사용하지만 모든 호스트에 대해서라면 %를 넣어준다. localhost를 사용한다면 로컬에서만 접근이 가능하며, %를 넣어주게 되면 모든 호스트에서 접근이 가능하다.

예)
mysql> CREATE DATABASE MyTest;

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON MyTest.* TO MyTestID@localhost IDENTIFIED BY 'mypass';


MyTestID 라는 계정을 추가하며 localhost에서 MyTest라는 DB를 접근할 수 있게 한다. 이렇게 한 뒤

[root@localhost root]# mysql -u MyTestID -p
Enter password: <mypass를 입력>

와 같이 접속할 수 있다.

* 계정 삭제
계정을 삭제 하기 위해서는 다음과 같은 절차를 거친다.

1) mysql DB 선택
mysql> use mysql;


2) 사용자에게 할당된 DB를 삭제한다
mysql> DROP DATABASE <DB_NAME>;


3) 사용자에게 적용된 DB 권한을 삭제한다
mysql> DELETE FROM db WHERE Host='<HOST>' AND User='<USER_ID>';



4) 사용자 목록에서 삭제한다
mysql> DELETE FROM user WHERE Host='<HOST>' AND User='<USER_ID>';


* 권한 재적용
권한을 재적용 하기 위해서는 myql을 껐다 키는 방법도 있지만
mysql> FLUSH PRIVILEGES;

또는
[root@localhost root]# mysqladmin -u root -p reload

와 같이 실행한다

크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 장현준

2006/12/29 14:54 2006/12/29 14:54
,
Response
No Trackback , No Comment
RSS :
http://b4you.net/blog/rss/response/52

MySQL 5 설치하기

1. www.mysql.com 에서 mysql 소스(tarball로 된 소스)를 다운로드 받는다.

2. 다음의 순서대로 실행한다

1) mysql 계정을 추가한다

[root@localhost root]# groupadd mysql

2) mysql 그룹을 추가한다

[root@localhost root]# useradd -g mysql mysql

3) tarball의 압축을 푼다

[root@localhost root]# tar xvfz mysql-5.0.27.tar.gz

4) 디렉토리 이동 후

[root@localhost root]# cd mysql-5.0.27

5) 설치될 경로를 설정한다

[root@localhost mysql-5.0.27]# ./configure <옵션>

사용할 수 있는 옵션
* --prefix=<설치될 경로>(예: /usr/local/mysql)
* --with-unix-socket-path=<socket경로> (예: /var/tmp/mysql.sock)
* --with-tcp-port=<포트> (예: 3306)
* --with-mysqld-user=<user이름> (예: mysql)
* --with-charset=<언어> (예: euc_kr)

6) 컴파일 한다

[root@localhost mysql-5.0.27]# make

7) 설치 한다

[root@localhost mysql-5.0.27]# make install

8) 서버의 성능에 따라 설정 파일을 복사한다

[root@localhost mysql-5.0.27]# cp support-files/<크기> (예: my-large.cnf) /etc/my.cnf

9) 설치 된 경로로 이동한다

[root@localhost mysql]# cd /usr/local/mysql

10) db를 초기화 시킨다

[root@localhost mysql]# bin/mysql_install_db --user=mysql

11) 디렉토리 권한을 바꿔준다

[root@localhost mysql]# chown -R root .
[root@localhost mysql]# chown -R mysql var
[root@localhost mysql]# chgrp -R mysql .
[root@localhost mysql]# chmod 711 .
[root@localhost mysql]# chmod 711 bin lib
[root@localhost mysql]# chmod 700 libexec mysql-test share
[root@localhost mysql]# chmod 750 /usr/local/mysql/var

12) 시스템 시작 시 자동으로 실행되게 하려면 init.d에 등록한다

[root@localhost mysql]# install -m 700 share/mysql/mysql.server /etc/init.d/mysqld

13) mysqld를 실행한다

[root@localhost mysql]# bin/mysqld_safe --user=mysql &

또는
[root@localhost mysql]# /etc/init.d/mysqld start

14) admin 비밀번호를 변경한다

[root@localhost mysql]# bin/mysqladmin -u root password '<비밀번호>'

3. c와의 연동
1) lib파일들 설정

[root@localhost root]# vi /etc/ld.so.conf

여기서
"/usr/local/mysql/lib/mysql" 과 같이 mysql의 library 디렉토리를 적어준다

2) 컴파일 시 header 및 경로 설정

gcc의 옵션에서 다음과 같은 옵션을 준다

* -I<include경로> (예: /usr/local/mysql/include/mysql)
* -lmysqlclient
* -L<lib경로> (예: /usr/local/mysql/lib/mysql)

예를들어 다음과 같이 Makefile로 작성해 놓으면 편하다

CC=g++
CFLAGS=-Wall -O3 -pedantic -Werror
HEADER=-I/usr/local/mysql/include/mysql
LIBRARY=-lmysqlclient -lstdc++
LIBRARY_DIRECTORY=-L/usr/local/mysql/lib/mysql
EXE=mysql
OBJ=Main.o

.cpp.o:
$(CC) $(CFLAGS) $(HEADER) -c $<

.c.o:
$(CC) $(CFLAGS) $(HEADER)-c $<

all: $(EXE)

$(EXE): $(OBJ)
$(CC) $(CFLAGS) $(HEADER) $(LIBRARY) $(LIBRARY_DIRECTORY) -o $(EXE) $(OBJ)
rm -f $(OBJ)

clean:
rm -f $(OBJ) $(EXE)

크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 장현준

2006/12/27 17:53 2006/12/27 17:53
,
Response
No Trackback , No Comment
RSS :
http://b4you.net/blog/rss/response/49


블로그 이미지

빗소리를 먹는 사람.

- 장현준

Notices

Archives

Authors

  1. 장현준

Recent Trackbacks

  1. 듀얼클러치의 생각 rsvin28's me2DAY 2009

Calendar

«   2012/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

Site Stats

Total hits:
158014
Today:
84
Yesterday:
228