본문 바로가기

MySQL/MySQL Setting

[MySQL] MySQL 개인 계정등록

반응형





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