BLOG ARTICLE mysql | 22 ARTICLE FOUND

  1. 2011.07.25 회원가입 #1
  2. 2010.08.31 xampp를 이용 간단하게 APM 설치하기
  3. 2009.06.09 JDBC 드라이버와 한글 깨짐 해결
  4. 2009.03.30 JDBC 드라이버
  5. 2009.03.26 MySQL 기본

사용함수

- mysql_connect(String $hostname, String $userid, String $password)
PHP 프로그램과 데이터베이스(MySQL) 서버와의 연동을 위한 함수로 PHP 프로그램에서 데이터베이스의 내용을 조적(검색, 수정, 삭제, 추가 등)하려면 반드시 이 함수를 가장 먼저 실행해야 한다. 이 함수를 실행하려면 데이터베이스 서버의 이름($hostname), 데이터베이스 사용자 아이디($userid), 그리고 사용자 비밀번호($password)가 주어져야 하며, 성공적으로 수행되면 고유한 연결 식별값을 반환하고 실패할 경우 FALSE 값을 반환한다.

- mysql_select_db(String $dbname, resource $linkid)
mysql_connect 함수에 의해 성공적으로 데이터베이스 서버와의 연결이 이루어지면 이 연결($link)에서 사용 가능한 데이터베이스($dbname)를 선택한다. 주어진 데이터베이스의 선택이 성공할 경우 TRUE를 실패할 경우 FALSE를 반환한다.

- mysql_query(String $sql, resource $linkid)
현재 연결($linkid)된 데이터베이스 서버에 질의($sql)를 전송 실행한다. 실행 결과는 SELECT, SHOW, DESCRIBE, EXPLAIN 등과 같이 결과셋을 반환하는 질의의 경우, 질의 실행이 성공하면 그 결과를 반환하고 실패하면 FALSE를 반환한다. 그리고 UPDATE, DELETE, INSERT, DROP 등의 다른 형태의 질의의 경우 실행에 성공하면 TRUE를 실패하면 FALSE를 반환한다.

- mysql_close(resource $linkid)
현재 연결($linkid)된 데이터베이스와의 접속을 종료한다. 종료 후에 다시 데이터베이스 조작을 하려면 반드시 mysql_connect함수를 실행해야 조작할 수 있다. 실행 결과는 접속종료에 성공할 경우 TRUE를, 실패할 경우 FLASE를 반환한다.

php_member.sql

사용자 삽입 이미지

addForm.php(저장경로 : ~/public_html/php/member/1)
사용자 삽입 이미지

addMember.php(저장경로 : ~/public_html/php/member/1)
사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

'안산대학교 > WebDB' 카테고리의 다른 글

회원목록 #1  (0) 2011.07.26
회원가입 #5  (0) 2011.07.26
회원가입 #4  (0) 2011.07.26
회원가입 #3  (0) 2011.07.25
회원가입 #2  (0) 2011.07.25
AND

가정에서 또는 사무실에서 흔히 사용하는 Windows PC에 제로보드 또는 텍스트큐브 등을 운영하기 위해서는 소위 APM 이라 불리우는 Apache, MySQL, PHP를 설치해야 한다. 그러나 초보자가 이를 각각 다운로드한 후 설치하는 것은 매우 힘든 작업이다. 하지만 다행히도 XAMPP나 APMSetup을 이용하면 이 모든 것은 한번에 쉽게 해결할 수 있다. APMSetup은 국내에서 패키징돼 나온 프로그램으로 모든 과정에 한글이 지원되는 점이 장점이고, XAMPP는 APM 이외에 FTP, Mail 등 다양한 서비스를 제공하며 또한 Windows는 물론 MacOS, Linux, Solaris 등 다양한 운영체제를 지원하는 것이 장점이다. 여기서는 XAMPP를 설치하는 방법에 대해 살펴보겠다.

1. 먼저 "http://www.sourceforge.net"에 접속한 후 "xampp"를 찾는다.



2. 검색 결과 "XAMPP"가 나오면 이 부분을 클릭한다.



3. 연두색 부분을 클릭하여 Windows용 xampp를 다운로드한다. 현재 버전은 1.7.3이며 만약 이전 버전이나 또는 다른 운영체제용 버전을 다운로드하려면 "View all files"를 클릭하면 된다.



4. 다운로드한 xampp 설치파일을 더블클릭하여 설치를 시작한다. xampp의 기본 설치 폴더는 "C:\" 이다. 변경할 내용이 없으면 아래 그림에서 "Install"을 클릭한다.



5. 다음은 설치 진행을 보여주는 화면이다. 이 화면에서 잠시 기다리면 설치가 완료되고 설정 화면으로 바뀐다.



6. 설정 화면에서 특별히 변경할 내용이 없으므로 엔터키를 눌러 기본값으로 진행한다.







7. 아래 화면이 나오면 "x"를 입력하여 설치 및 설정을 모두 마친다.



8. 메모장 등을 이용 "C:\xampp\php\php.ini" 파일을 열어 아래 부분을 찾아 수정한다.



9. 위 모든 과정이 오류없이 정상적으로 마무리 됐다면 바탕화면에 아래와 같은 아이콘이 만들어진다. 이 아이콘을 더블클릭하여 "Xampp"를 실행한다.



10. "XAMPP Control Panel Application"이 뜨면 Apache와 MySQL의 "Start" 버튼을 클릭하여 웹서비스와 데이터베이스 서비스를 시작한다. 만약 부팅 시 자동으로 두 서비스가 실행되도록 하려면 좌측의 "Svc" 항목을 선택하면 된다. 참고로 아래 서비스 중 FileZilla는 FTP 서비스를 Mercury는 메일서비스를 제공하고 Tomcat은 JSP 서비스를 제공한다.



11. 각 서비스가 올바르게 시작됐다면 "Running" 메세지가 뜨고 "Start" 버튼이 "Stop" 버튼으로 바뀐다. 만약 서비스를 멈추고 싶다면 "Stop" 버튼을 클릭하면 된다.



12. 이제 브라우저를 띄우고 주소 "http://localhost"를 입력하여 아래 그림과 같은 화면이 뜨면 여러분의 컴퓨터에는 Apache, MySQL, PHP가 올바르게 설치된 것이다. 그러므로 여러분의 PC는 웹 서버가 된 것이다. 이제 HTML, PHP 같은 홈페이지 파일들을 "C:\xampp\htdocs"안에 놓으면 여러분만의 홈페이지를 만들고 운영할 수 있다.
 

'홈페이지 > 인터넷' 카테고리의 다른 글

인터넷 포토샵  (0) 2009.09.03
AND

JSP 프로그램에서 MySQL용 JDBC 드라이버를 이용 폼으로 부터 POST 메소드로 전달된 한글 데이터를 Insert 할 때 한글이 깨진다면 페이지 문자셋을 고려하여 연결 URL을 다음과 같이 지정한다. 그러면 한글이 깨지지 않은 데이터를 테이블에 잘 저장할 수 있다. 물론 request.setCharacterEncoding 메소드의 파라메터도 문자셋에 맞도록 올바르게 지정해야 하고...
 
페이지 문자셋이 "EUC-KR" 인 경우
request.setCharacterEncoding("euc-kr");
...
String jdbc_url = "jdbc:mysql://localhost:3306/jsp_test?useUnicode=true&characterEncoding=euckr";


페이지 문자셋이 "UTF-8" 인 경우
request.setCharacterEncoding("utf-8");
...
String jdbc_url = "jdbc:mysql://localhost:3306/jsp_test?useUnicode=true&characterEncoding=utf8";

만약 MySQL 서버가 4.x 까지의 버전 이라면 URL에서 "euckr"과 "utf8" 부분을 각각 "euc-kr", "utf-8"로 바꿔줘야 한다.

아래 예제 프로그램을 참조하자.

페이지 문자셋이 "EUC-KR"인 경우.

form.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<form action="regdb.jsp" method="post">
이름 : <input type="text" name="name" />
<input type="submit" value="저장" />
</form>
</body>
</html>

regdb.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("euc-kr");
Connection conn = null;
Statement stmt = null;
String jdbc_driver = "com.mysql.jdbc.Driver";
String jdbc_url    = "jdbc:mysql://localhost:3306/jsp_test?useUnicode=true&characterEncoding=euckr";
String jdbc_user   = "jsp_test";
String jdbc_pwd    = "jsp_test";
String sql  = null;
String name = request.getParameter("name");
sql = "INSERT INTO member_euckr VALUES ('" + name + "')";
Class.forName(jdbc_driver);
conn = DriverManager.getConnection(jdbc_url, jdbc_user, jdbc_pwd);
stmt = conn.createStatement();
stmt.executeUpdate(sql);
%>
<%= sql %><br>
당신의 이름은
<%= name %>
입니다.
</body>
</html>


페이지 문자셋이 "UTF-8"인 경우.

form.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="regdb.jsp" method="post">
이름 : <input type="text" name="name" />
<input type="submit" value="저장" />
</form>
</body>
</html>

regdb.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
Connection conn = null;
Statement stmt = null;
String jdbc_driver = "com.mysql.jdbc.Driver";
String jdbc_url    = "jdbc:mysql://localhost:3306/jsp_test?useUnicode=true&characterEncoding=utf8";
String jdbc_user   = "jsp_test";
String jdbc_pwd    = "jsp_test";
String sql  = null;
String name = request.getParameter("name");
sql = "INSERT INTO member_utf VALUES ('" + name + "')";
Class.forName(jdbc_driver);
conn = DriverManager.getConnection(jdbc_url,jdbc_user, jdbc_pwd);
stmt = conn.createStatement();
stmt.executeUpdate(sql);
%>
<%= sql %><br>
당신의 이름은
<%= name %>
입니다.
</body>
</html>


위 예제에서 사용된 두 테이블 member_euckr과 member_utf의 구조는 각각 다음과 같다.

CREATE TABLE `member_euckr` (
  `name` varchar(20) NOT NULL
) DEFAULT CHARSET=euckr;

CREATE TABLE `member_utf` (
  `name` varchar(20) NOT NULL
) DEFAULT CHARSET=utf8;
AND

JSP와 MySQL을 연동하려면 우선 MySQL용 JDBC 드라이버를 다운 받아야 한다. MySQL용 JDBC 드라이버는 http://www.mysql.com 접속 후 Downloads 메뉴를 클릭하여 다운받을 수 있다.

사용자 삽입 이미지

http://www.mysql.com


Downloads 메뉴 클릭 후 나타나는 화면에서 좌측의 Connectors 항목을 클릭한다.

사용자 삽입 이미지

Connector 항목


Connector 항목을 클릭하면 서브 항목이 나타나는데 여기서 Connector/J 항목을 클릭한다.

사용자 삽입 이미지

Connector/J 항목


흰 바탕화면 우측에서 Source ans Binaries (zip) 의 Download를 클릭하면 MySQL 용 JDBC 드라이버를 받을 수 있다. 만약 Download 항목이 없다면 Pick a mirror 항목을 클릭한 후 태극기가 표시되는 미러사이트를 클릭하면 다운도드 받을 수 있다.

사용자 삽입 이미지

MySQL용 JDBC 드라이버


파일 다운로드 창이 뜨면 적당한 폴더를 지정한 후 저장을 한다음 압축프로그램을 이용 저장 파일을 연다. 여기서는 열기 버튼을 클릭하여 다운로드와 동시에 바로 압축프로그램(알집) 프로그램이 실행되도록 하였다.

사용자 삽입 이미지

mysql-connector-java-5.1.7-bin.jar 다운로드


다운로드가 완료되면 알집과 같은 압축프로그램이 실행된다. 여기서 좌측 메뉴를 클릭하여 "mysql-connector-java-5.1.7-bin.jar" 파일이 저장된 폴더를 찾는다.

사용자 삽입 이미지

알집으로 mysql-connector-java-5.1.7-bin.jar을 확인한 내용


이클립스를 이용 JSP 프로그램을 개발할 때 실행에 필요한 자바 클래스 파일들은 "프로젝트 - WEB-INF - lib"에 저장돼야 한다. 따라서 이클립스를 실행하여 프로젝트에서 "WebContent - WEB-INF" 폴더를 찾아 그 아래 "lib"라는 폴더를 만들어야 한다. 이를 위해 "WEB-INF" 위에서 마우스 오른쪽 버튼을 클릭하여 다음 그림과 같이 "New -> Folder" 항목을 선택한다.

사용자 삽입 이미지

JDBC 드라이버가 위치할 폴더 만들기


"New Folder" 창이 뜨면 "Folder Name"에 "lib"를 입력하고 "Finish" 메뉴를 클릭한다.

사용자 삽입 이미지

WEB-INF에 lib 폴더 만들기


이클립스에서 "lib" 폴더가 만들어진 것이 확인됐으면 알집에 압축된 "mysql-connector-java-5.1.7-bin.jar" 파일을 찾아 "lib" 폴더에 드래그앤드롭 등을 이용해 복사한다. 이로써 JSP와 MySQL 사이의 연동이 가능해졌다.
 
사용자 삽입 이미지

WEB-INF 안의 lib 폴더에 JDBC 드라이버 복사하기


MySQL 사용자 및 데이터베이스 그리고 MySQL용 JDBC 드라이버가 올바르게 설치 되었는지를 확인하기 위해 다음 프로그램 "mysqlConn.jsp"를 입력하여 실행해 본다. 실행 결과 아무런 메세지도 출력되지 않았다면 올바르게 설치된 것이다.

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import = "java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
Class.forName("com.mysql.jdbc.Driver");

Connection conn = null;

String url = "jdbc:mysql://localhost:3306/jsp?user=jsp&password=your_password";
conn = DriverManager.getConnection(url);
conn.close();
%>
</body>
</html>


사용자 삽입 이미지

mysqlConn.jsp 실행결과


'프로그래밍 > Java' 카테고리의 다른 글

Java SE 설치  (0) 2008.11.26
Java SE 다운로드  (0) 2008.11.24
AND

MySQL 기본

프로그래밍/MySQL 2009. 3. 26. 12:53
MySQL Server의 설치가 완료됐으면 이제 MySQL 사용법을 익혀보기 위해 Windows "명령 프롬프트"를 실행하자. "명령 프롬프트"는 XP의 경우 "시작 -> 모든프로그램 -> 보조프로그램 -> 명렬 프롬프트"를 통해 실행하거나 또는 "시작 -> 실행" 창에서 "cmd"를 입력하면 실행할 수 있다.

우리가 설치한 MySQL Server는 OS(Windows 또는 UNIX)가 부팅될 때 자동으로 시작되는 범용 DBMS이며, 서버와 클라이언트 구조로 나뉜다. 서버는 데이터를 터리하는 핵심이 되는 프로그램으로 명령 또는 쿼리를 받으면 그에 합당하게 데이터를 조작하는 역할을 한다. 서버는 사용자가 직접 조작할 수 없으며, 클라이언트 프로그램을 통해 서버에 명령을 전달하고 서버로부터 처리된 결과 역시 클라이언트를 통해 전달 받는다. 그러므로 서버를 설치할 때 문자 기반의 "mysql"이란 클라이언트 프로그램을 함께 설치한다. "mysql"을 이용 서버에 접속하는 방법은 여러가지가 있으나 일반적으로 다음과 같은 방법을 사용한다.

mysql   -u  사용자ID  -p


"-u" 옵션 뒤에는 데이터베이스 사용자 ID를 준다. 그리고 해당 사용자 ID로 데이터베이스 서버에 접속할 때 비밀번호가 필요하면 "-p" 옵션을 줘야 한다.

그러면 데이터베이스 서버에 관리자로 접속하기 위해 다음 명령을 입력해 보자.

mysql  -u  root  -p

위에서 사용자 ID로 주어진 "root"는 MySQL 에서 관리자 아이디를 의미한다. 그리고 "-p"옵션이 있으므로 비밀번호를 필요로한다. 비밀번호는 MySQL Server 설치시 설정한 관리자 비밀번호를 입력하면 된다. 접속에 성공하였다면 다음 그림과 같은 화면이 출력된다.

사용자 삽입 이미지

위 화면에서 메세지와 함께 프롬프트 "mysql>"이 출력되는데 이 것은 클라이언트가 새로운 명령을 기다리고 있음을 의미한다. 그러면 다음 명령을 입력해 보자.

show databases;

사용자 삽입 이미지

이 명령은 현재 서버가 관리하고 있는 데이터베이스의 목록을 나열해 준다. 출력 결과는 현재 서버가 총 세 개의 데이터베이스 "information_schema", "mysql", "test"를 관리하고 있음을 보여준다. 여기서 "mysql"이란 이름의 데이터베이스는 사용자, 접근권한 등과 같이 서버에 의해 특별하게 관리되는 정보를 위한 데이터베이스다.

현 시점에서는 세 개의 데이터베이스 중 어느 것도 사용할 수 없는 상태다. 그러므로 데이터베이스 중 사용하고자 하는 하나의 데이터베이스를 선택해야 한다. 데이터베이스 선택을 위한 명령은 다음과 같다.

use   데이터베이스이름 ;


그러면 다음 명령을 이용 서버과 특별하게 관리하는 데이터베이스인 "mysql"를 선택해 보자.

use  mysql ;

사용자 삽입 이미지

"Database changed"란 메세지가 출력되면 "use mysql;" 명령이 올바르게 처리된 것이다. 각 데이터베이스는 여러개의 테이블을 관리한다. 따라서 임의의 데이터베이스가 관리하는 테이블을 확인하려면 다음 명령으로 확인할 수 있다.

show tables ;

사용자 삽입 이미지

이 명령은 현재 사용 중인 데이터베이스가 관리하는 테이블 목록을 출력한다. 그러므로 "show tables;" 명령의 결과 화면은 "use mysql;"명령에 의해 현재 사용 중인 데이터베이스 "mysql"이 관리하는 테이블의 목록으로 "columns_priv" 부터 "user"까지 총 17 개의 테이블들을 관리하고 있음을 알 수 있다.

데이터베이스 테이블은 필드와 레코드들로 구성되어 있다. 따서서 테이블 필드의 구조를 확인하기 위한 명령은 다음과 같다.

desc 테이블명 ;


만약 "mysql"이 관리하고 있는 테이블 중 "host" 테이블의 필드 구조를 확인하고 싶으면 다음 명령을 입력한다.

desc  host ;

사용자 삽입 이미지

위 화면은 "host" 테이블의 구조를 보여주고 있다. 이 결과를 통해 "host" 테이블은 19 개의 필드로 구성되어 있음을 확인할 수 있으며, 각 필의의 타입과 속성 등도 함께 확인할 수 있다. 예를 들면 "Host" 필드의 경우 타입은 char(60)이고, null 값을 허용하지 않으며, 주키(Primary Key)로 설정돼 있다. 또 하나의 필드 "Index_priv"의 경우 타입 emun('N','Y')에 의해 가질 수 있는 값은 문자 'N' 또는 'Y'이며, null 값을 가질 수 없고, null 값이 주어지면 기본값 'N'을 갖게된다.

데이터베이스 "mysql"이 관리하는 테이블 중 "user"는 데이터베이스 사용자 정보를 저장 관리하는 테이블이다. 이 테이블은 사용자아이디와 비밀번호 및 MySQL Server가 관리하는 모든 데이터베이스에 대한 사용자의 접근권한 등의 정보를 가지고 있다. 이 테이블의 내용을 보기 위해서는 SQL 중 검색을 위한 "SELECT" 문을 이용해 확인할 수 있다. 다음 명령을 입력해 보자.

SELECT host, user from user ;

사용자 삽입 이미지

위 명령은 테이블 "user"에 저장된 사용자 정보 중 "host", "user" 필드의 내용을 보여주고 있다. 설치 옵션에 따라 다르겠지만 위 결과를 살펴보면 "user" 테이블은 세 개의 레코드를 가짐을 알 수 있다. 그리고 "user" 필드는 데이터베이스 사용자 아이디를 저장하는 필드로 "root"는 데이터베이스 관리자를 의미한다. "host" 필드는 데이터베이스서버로 접속할 수 있는 컴퓨터를 지정하는데, 이 값이 "%"이면 인터넷상의 모든 컴퓨터를 의미하며, "localhost"는 데이터베이스 서버 자신을 의미한다. 그러므로 "root" 즉 관리자는 데이터베이스 서버에 접속할 때 데이터베이스 서버가 실행 중인 컴퓨터에서만 접속이 가능하고 인터넷 상의 다른 컴퓨터에서는 접속이 불가능 하다. 이 외에도 기타 권한은 "user" 테이블의 다른 필드값에 의해 결정된다.

또 다른 테이블 "db"의 내용을 확인하기 위해 다음 SQL 문을 실행하자.

SELECT host, user, db from db ;

사용자 삽입 이미지

"db" 테이블은 특정 사용자와 특정 데이터베이스 사이의 접근권한 등의 관계 정보를 저장하는 테이블이다. 위 결과를 살펴보면 익명의 사용자와 "test"란 이름의 데이터베이스 또는 "test_"로 시작되는 모든 데이터베이스 사이의 관계된 정의를 하고 있다. 둘 사이의 정확한 관계는 "db" 테이블의 다른 필드에 정의되어 있지만 여기서는 생략하도록 한다.

자 그러면 실습을 위해 새로운 데이터베이스 "jsp"를 만들어보자. 새로운 데이터베이스를 만들기 위한 SQL 문은

CREATE DATABASE  database-name ;

이므로 database-name 부분을 jsp로 바꾸면 데이터베이스 "jsp"를 만들 수 있다.

CREATE  DATABASE  jsp ;

사용자 삽입 이미지

"Query OK, 1 row affected (0.00 sec)" 메세지가 나오면 데이터베이스 "jsp"가 만들어진 것이다. 확인을 위해 앞에서 배웠던 "show databases ;"를 입력해 보자.

사용자 삽입 이미지

결과를 확인해 보면 데이터베이스 "jsp"가 추가되었음을 알 수 있다. 실습을 위한 데이터베이스 "jsp"를 추가했으면 다음 쿼리를 이용하여 실습을 위한 새로운 사용자를 추가해 보자. 여기서 기울임체로 된 your_password 부분은 자신이 원하는 비밀번호로 대치한다.

GRANT SELECT, UPDATE, INSERT, DELETE, CREATE, DROP, ALTER
ON jsp.* TO 'jsp'@'localhost'
IDENTIFIED BY 'your_password' ;

사용자 삽입 이미지

위 쿼리는 "localhost"에서 접근 가능한 데이터베이스 사용자 "jsp"를 등록하였다. 이 사용자 "jsp"는 데이터베이스 서버에 접속할 때 "your_password"를 사용해 접속해야 하며, 접속 후 데이터베이스 "jsp"에 대한 접근권한과 연관된 관계를 정의하고 있다. 이 쿼리에서 데이터베이스 사용자 "jsp"는 데이터베이스 "jsp"에 대해 "SELECT", "UPDATE", "INSERT", "DELETE", "CREATE", "DROP", "ALTER" 등의 쿼리를 실행할 수 있도록 권한이 설정되었다.

그러면 올바르게 데이터베이스 사용자가 추가 되었는지 "user" 테이블을 살펴보자.

SELECT host, user FROM user ;

사용자 삽입 이미지

결과를 살펴보면 "LOCALHOST"에서 접속 가능한 사용자 "jsp"가 등록되었음을 확인할 수 있다. 또한 사용자와 데이터베이스와의 관계를 정의하고 있는 "db" 테이블을 살펴보자.

SELECT host, user, db FROM db ;

사용자 삽입 이미지

결과를 살펴보면 데이터베이스 사용자 "jsp"가 "localhost"에서 접속했을 때 데이터베이스 "jsp"에 대한 관계를 정의하고 있다. 결과에서는 관계를 알 수 없지만 이 관계는 "db" 테이블의 다른 필드에 정의되어 있으므로

SELECT * FROM db ;


쿼리를 통해 확인할 수 있다. 관계를 확인했으면

exit ;


명령을 통해 MySQL Client 프로그램을 종료하자.

사용자 삽입 이미지

이제 새롭게 등록한 사용자로 "명령 프롬프트" 상에서 다음 명령을 이용 재 접속을 시도해 보자.

mysql  -u  jsp  -p

이 때 비밀번호는 "GRANT"를 이용 사용자 "jsp"를 등록할 때 주어진 비밀번호를 입력한다.

사용자 삽입 이미지

접속에 성공하면 다음 명령을 순서대로 입력하여 그 결과를 확인해 보자.

show  databases ;
use  jsp
show tables ;

사용자 삽입 이미지

MySQL과 관련된 더 자세한 내용을 공부하고 싶다면 다른 참고서적을 찾아보도록 하자.

'프로그래밍 > MySQL' 카테고리의 다른 글

MySQL Server 설치  (0) 2009.03.23
MySQL 커뮤니티 서버 다운로드  (0) 2008.11.24
AND