Database/MySQL2007/09/10 11:16

mysqladmin을 이용하여 root 암호 설정

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

$ mysqladmin -u root -p password new-password

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

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');

마지막으로 Password가 재대로 변경되었는지 Test를 합니다.

$ mysql -u root -p

MySQL에서 Database 보기와 생성

Database 보기

myslq> show databases;

Database 생성

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');

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


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

  • 일반 사용자 추가
  • mysql> grant all privileges on dbuser.* to dbuser@localhost identified by 'password' with grant option;


특정 이름의 Database에 대한 모든 권한을 가지는 사용자 추가

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

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



사용자에게 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가 자기 Computer에 깔려 있는 경우에만 접속을 허용)
두번째 문장은 localhost를 제외하고는 모든 IP에서 접근을 시키겠다는 내용입니다.
세번째는 c Class만 허용하겠다는 의미 입니다. xxx.xxx.%.% 면 B Class xxx.%.%.%면 A Class로 제한을 할수 있습니다.

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

mysql> FLUSH PRIVILEGES;

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


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

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

저작자 표시 비영리 변경 금지
Creative Commons License

'Database > MySQL' 카테고리의 다른 글

mysqldump Option  (0) 2009/07/28
MySQL Optimize Script  (0) 2007/09/13
Table 검사 및 복구  (0) 2007/09/12
MySQL 5.x Version 한글이 깨질때  (0) 2007/09/11
MySQL에서 root 암호 설정  (0) 2007/09/10
우편번호 DB File을 SQL로 변환  (2) 2007/09/09
MySQL JDBC Driver Installation  (0) 2007/09/08
phpmyAdmin에서 config.inc.php 파일 편집하기  (0) 2007/09/07
MySQL 사용자 계정 만들기  (0) 2007/09/06
Posted by BLUEDAY™