DB

MySQL에서 root 암호 설정

by dnavi posted Apr 28, 2006
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
Extra Form

사용자 삽입 이미지
MySQL에서 root 암호 설정

mysqladmin을 이용하여 root 암호 설정

MySQL을 처음 설치하면 root 암호가 설정되어 있지 않기 때문에 반드시 설치 후 바로 root 암호를 먼저 설정해주세요.%%% root 암호를 설정하기 위해서는

$ mysqladmin -u root -p password new-password


이러한 명령을 실행하면 됩니다. 실행하면 패스워드를 입력하라고 하는데 처음 root의 패스워드는 없으므로 그냥 엔터를 치시면 root 패스워드가 변경됩니다.

update문을 이용하여 root 암호 설정

$ mysql -u root mysql

mysql> update user set password = password('new-password') where user = 'root';
mysql> flush privileges;


set password를 이용하여 root 암호 설정

mysql> set password for root = password('new-password');


마지막으로 패스워드가 재대로 변경되었는지 테스트를 합니다.

$ mysql -u root -p


MySQL에서 Database 보기와 생성

데이터베이스 보기

myslq> show databases;


데이터베이스 생성

mysql> create database DB명;


MySQL에서 새로운 사용자 추가

MySQL에서 사용할 Database를 만든 후에 사용자를 추가하려면, 일단 root로 접속한 후

$ mysql (?h localhost) ?u root ?p
Enter password: *******

mysql> use mysql
mysql> INSERT INTO user VALUES('%', '사용자', PASSWORD('비밀번호'),
-> 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');


이렇게 해서 사용자를 하나 만들었습니다. 맨 처음 ‘%’ 가 붙은 것은 다른 어느 호스트에서도 접속이 가능하게 하기 위해서 입니다. 간단하게 추가 하는 방법이 있습니다.

'GRANT' 명령을 이용하면 쉽게 사용자 추가 및 권한 설정이 가능합니다. (MySQL Manual 4.3.5)

* 일반 사용자 추가

mysql> grant all privileges on dbuser.* to dbuser@localhost identified by 'password' with grant option;


* 특정 이름의 데이터베이스에 대한 모든 권한을 가지는 사용자 추가

mysql> grant all privileges on `dbuser_%`.* to dbuser@localhost identified by 'password' with grant option;


'dbuser_'으로 시작되는 데이터베이스에 대한 모든 권한을 가지는 'dbuser' 사용자 계정 추가%%% 이런식으로 계정을 만들면 새로운 사용자에 대한 개별적인 데이터베이스 권한 설정을 생략할 수 있습니다. -- 이현진
사용자에게 Database 사용 권한을 주기

mysql> INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv)
-> VALUES('%', 'DB명', '사용자', 'Y', 'Y', 'Y', 'Y','Y','Y');


모든 권한을 준다면 아래와 같은 방법을 하는것이 더욱 편리힙니다.

mysql> GRANT ALL on DB명.* TO id@'localhost' ;
mysql> GRANT ALL on DB명.* TO id;
mysql> GRANT ALL on DB명.* TO id@'xxx.xxx.xxx.%';


첫번째 localhost?로컬 호스트 (DB가 자기컴퓨터에 깔려 있는경우..에만 접속을 허용하겠다는 뜻입니다.

두번째 문장은 로컬 호스트를 제외하고는 모든 ip에서 접근을 시키겠다는 내용입니다.

세번째는 c클래스만 허용하겠다는 의미 입니다. xxx.xxx.%.% 면 B클래스 xxx.%.%.%면 A클래스로 제한을 할수 있습니다.

그리고 변경된 내용을 메모리에 반영하기 위해 다음 명령을 실행합니다.

mysql> FLUSH PRIVILEGES;


이렇게 MySQL을 설정해 놓으면 사용자가 다른 호스트에서도 접속할 수 있고 테이블 추가 삭제 등도 할 수 있습니다.

이렇게 수동으로도 가능 하지만 요즘은 툴을 많이 사용합니다. 툴은 DB에 대한 기본적인 지식만 있으면 무리가 없이 사용 되는녀석이죠 ^^%%% 저같이 쿼리에 약한 사람들에게는 정말 유리 합니다. 아래 페이지에 가셔서 다운로드를 받으세요 :) 한글사용에 약간의 제약이 있습니다.%%% 다른 여러가지 DB관리 툴이 있지만 상당히 고가의 툴이랍니다 :) 암흑의 루트에서 돌고있는 녀석들이 종종 있습니다.

http://www.mysql.com/downloads/mysqlcc.html





--------------------------------------------------광고(Advertising)-------------------------------------------------------------------------------------


TAG •