■ MySQL 개인 계정등록
01. 새로운 데이터베이스 생성
데이터 베이스 생성 명령 |
mysql> create database 데이터베이스명; |
① mysql> create database wicked_db;
-. 위 명령을 입력해 데이터베이스를 생성한다.
② mysql> show databases;
-. 위 명령을 입력해 데이터베이스를 생성한다.
02. use 테이블로 전환한다.
테이블 구조 출력 명력 |
mysql> use mysql; |
03. user 테이블에 계정과 비밀번호 등록
-. MySQL의 사용자를 등록하고 관리하는 user 테이블에 새로운 계정을 추가하고, 비밀번호를 추가한다.
-. user 테이블 구조를 확인하려면 다음과 같이 입력한다.
테이블 구조 출력 명력 |
mysql> desc 테이블명; |
① mysql> desc user;
-. 맨 왼쪽열이 user 테이블의 필드로 Host, User, Password, Select_priv등이 있다.
-. user 테이블은 기본 39개의 필드로 구성된다.
-. user 테이블은 시스템에 새로운 계정을 등록하거, 존재하는 계정들을 관리한다.
-. 현재 어떤 계정이 존재하는지 살펴보자.
특정 필드에 입력된 데이터 검색 명령 |
mysql> select 필드01, 필드02, 필드03 from 테이블명; |
-. user 테이블의 host, user, password 데이터를 출력하려면 다음과 같이 입력한다.
② mysql> select host, user, password from user;
-. select host, user, password from user;명령은
user 테이블에 포함된 레코드에서 host, user, password 필드에 해당하는 데이터를 보여주라는 의미다.
-. 여기서 레코드 1개는 등록된 계정 1개를 의미한다.
-. localhost는 보인 컴퓨터를 지칭하는데, 현재 사용하는 컴퓨터에 MySQL 시스템이 설최되어 있다는 것을 알 수 있다.
-. root는 관리자 계정을 의미한다.
-. password에 들어간 값은 관리자의 비밀번호가 암호화 과정을 거쳐 저장됨을 의미한다.
-. 새로운 계정(wicked)과 비밀번호(1q2w3e)를 user 테이블에 등록한다.
(user 테이블의 host, user, password 필드에 'localhost', 'wickied', '1q2w3e'를 등록한다.)
필드에 새로운 데이터 입력 |
mysql> insert into 테이블명 ( 필드01, 필드02, 필드03, ssl_cipher, x509_issuer, x509_subject, authentication_string ) values ( 필드01_값, 필드01_값, 필드03_값, '', '', '', ''); |
※ 비밀번호를 암호화해서 저장하려면 'password('1234')로 입력한다.
③ insert into user(host, user, password, ssl_cipher, x509_issuer, x509_subject, authentication_string)
values ('localhost', 'wicked', password('1q2w3e'), '', '', '', '');
-. host 필드값에는 MySQL이 있는 서버의 URL 주소가 입력된다.
-. 프로그램과 MySQL 프로그램이 동일한 서버나 로컬컴퓨터에 설치될 경우에는 'localhost'라고 입력한다.
-. localhost는 현재 접속도니 컴퓨터에 MySQL이 설치되어 있음을 의미한다.
(별도의 데이터베이스 서버가 없다면 host 필드값으로 대부분 localhost를 입력한다.)
-. 새로운 계정(wicked)이 등록되었는지 확인하기 위해 select 명령으로 user 테이블의 host, user, password 필드의 내용을 살펴본다.
④ mysql> select host, user, password from user;
-. 위 이미지의 마지막에 행에 추가도니 레코드의 등록 정보가 출력된다.
-. 새로운 계정(wicked)가 localhost 즉, 접속된 컴퓨터에 존재하는 것을 확인 할 수 있다.
-. 비밀번호 1q2w3e도 *712B69033…과 같은 암호화 도니 형태로 출력된다.
04. db 테이블에 데이터베이스 사용 권한 등록
-. kbhong 계정에서 kdhong_db를 사용할 수 있도록 권한을 부여해야 한다.
즉, MySQL 데이터베이스의 테이블 중에서 db 테이블에 레코드를 추가한다.
① mysql> desc db;
-. 위와 같이 db 테이블은 22개의 필드로 구성된다.
-. Host 필드는 데이터베이스가 존재하는 컴퓨터를 의미한다.
(개인 컴퓨터에 데이터베이스를 설치하여 실습을 진행하는 경우 네트워크에서 자기 자신의 컴퓨터를 의미하는 localhost를 사용한다.)
-. Db 필드에는 사용자가 사용하려는 데이터베이스의 이름이 들어간다.
-. User필드에는 사용자 계정을 입력한다.
-. '_priv'로 끝나는 필드들에는 각각의 SQL 명령들을 사용할 수 있는 권한을 설정한다.
-. 새롭게 생성한 계정(wicked)에서 새로 생성한 데이터 베이스(wicked_db)를 마음대로 사용할 수 있는 모든 권한을 부여 하려면
데이터베이스 테이블에 다음과 같이 등록한다.
② mysql> insert into db values
('localhost', 'wicked_db', 'wicked', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y');
-. 위의 명령은 사용자 컴퓨터(localhost)에서 데이터베이스(wicked_db)를 사용자 계정(wicked)이 사용 할 수 있게 설정하는 것이다.
-. SQL 명령의 권한 설정에 모두 'y'로 입력했기 때문에 사용자 계정(wicked)이
데이터베이스(wicked_db)에서 모든 SQL 명령을 사용할 수 있다.
-. 데이터베이스 테이블에 방금 등록한 레코들르 살펴본다.
④ mysql> select host, db, user, select_priv from db;
-. 새 데이터베이스 wicked_db의 사용자는 새로운 계정 wicked이다.
-. select 명령을 사용할 수 있는 권한인 select_priv에 Y로 표시된 것을 확인 할 수 있다.
-. 아래와 같이 입력하면 모든 권한이 Y로 설정된 것을 확인 할 수 있다.
⑤ mysql> select * from db;
05. user, db 테이블의 변경된 내용 적용
-. user, db 테이블의 변경된 내용을 MySQL 시스템에 적용시키려면 다음과 같이 입력한다.
① mysql> flush privileges;
06. 새로운 계정으로 MySQL에 접속
-. 마지막으로 새로 만든 데이터베이스(wicked_db), 계정(wicked), 비밀번호(1q2w3e)로 MySQL에 접속한다.
'MySQL > MySQL Setting' 카테고리의 다른 글
[MySQL] MySQL 관리자 계정으로 접속 (0) | 2014.05.14 |
---|