shop-wiz logo
Follow Us on Facebook Follow Us on Google+ Follow Us on Twitter Follow Us on LinkedIn

MySQL 이야기

여기서는 Dos 상태, phpMyAdmin을 사용해서 db 처리하는 법, linux상태에서의 db 처리하는 법 등에 대해서 설명 드리겠습니다.
Dos상태에서는 간단히, 그리고 phpMyAdmin은 사용법 및 개념을 주로 설명드리며 linux하에서의 처리법을 상세하게 설명드리겟습니다.


Dos 상태에서 MySQL 처리하기

http://www.apmsetup.com 에서 "APM_Setup" 으로 설치를 하신 분들도 있겠고 저 처럼 "PHP Setup for IIS" 으로 설치하신 분들도 있을 겁니다. 그러나 결론은 같으니 혼동은 마세요.. 일단 MySQL이 설치된 경로를 찾으세요.. 저 같은 경우는 c:\PHP_Setup_for_IIS\MySQL 입니다. 이곳폴더를 보시면 bin, data, share폴더가 각각 있는데 bin 은 실행명령이, data는 데이타베이스및 테이블들이 share에는 주로 language 관련하여 들어가 있습니다.


이제 우리가 작업할 database를 생성해 보겠습니다.

일단 mysql에 root권한으로 로그인을 하겠습니다.
PHP Setup for IIS 를 처음 세팅하셨고 아직 password 변경을 하지 않으셨다면 기본 패스워드는 '123456' 입니다.

C:\PHP_Setup_for_IIS\MySQL\bin>mysql.exe -u root -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 4.0.21-ntf

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

정상적으로 로그인 되었네요..^^
이젠 우리가 작업할 테이블을 만들고 그 테이블의 사용자 및 패스워드를 입력하겠습니다.

mysql> create database test_db;
Query OK, 1 row affected <0.08 sec>

mysql> grant all privileges on test_db.* to userid@localhost identified by ' testpwd';
Query OK, 0 rows affected <0.11 sec>


여기서는 약간 설명을 드려야겠습니다.

mysql> create database test_db;//생성할 테이블명 입력
Query OK, 1 row affected <0.08 sec>

mysql> grant all privileges on test_db.* to userid@localhost identified by ' testpwd';
Query OK, 0 rows affected <0.11 sec>

굳이 해석을 하자면 testpwd 라는 패스워드로 localhost에 있는 userid에게 test_db의 모든 권한을 준다는 뜻입니다. 여기서 localhost를 특정 아이피로 지정해도 됩니다. 가령 shop-wiz의 211.239.155.89로 접속하는 사람에게만 접속 권한을 주겠다고 하면
mysql> grant all privileges on test_db.* to userid@211.239.155.89 identified by ' testpwd';
처럼 사용하면 됩니다.


일단 이곳에서는 dos 환경하에서의 맛만 보았습니다. 그런데 일부 분들은 어떻게 윈도우에서 도스로 들어가는지 궁금해 하실 겁니다.
"시작 -> 실행" 이 창에서 cmd 라고 치시면 됩니다. cmd commander 의 약어 같은데..

이젠 데이타 베이스도 생성했고 사용자 및 아이디, 사용할 호스트도 지정했습니다. 이제 부터는 phpMyAdmin에서 테이블 처리하는 방법을 배우도록 하겠습니다. http://www.apmsetup.com 에 가시면 이것에 대한 사용법도 자세히 나와 있는데 이곳에서 다시 한번 정리해 드리겠습니다.


phpMyAdmin 사용하기

설치경로에서 mysqladmin을 실행합니다.
url 입력창 : http://localhost/phpMyAdmin/



로그인화면입니다. 사용자명과 암호를 입력하세요.^^
실제 phpMyAdmin 에서 다루는 db, 사용자, 패스워드 관련 정보는 phMyAdmin/config.inc.php 파일에서 관장합니다.
아래는 pl버전의 예시 부분입니다.

$i++;
$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP address
$cfg['Servers'][$i]['port'] = ''; // MySQL port - leave blank for default port
$cfg['Servers'][$i]['socket'] = ''; // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket')
$cfg['Servers'][$i]['extension'] = 'mysql'; // The php MySQL extension to use ('mysql' or 'mysqli')
$cfg['Servers'][$i]['compress'] = FALSE; // Use compressed protocol for the MySQL connection
// (requires PHP >= 4.3.0)
$cfg['Servers'][$i]['controluser'] = 'root'; // MySQL control user settings
// (this user must have read-only
$cfg['Servers'][$i]['controlpass'] = '123456'; // access to the "mysql/user"






좌측에 보시면 도스창에서 생성한 test_db 가 보이져... table생성하기를 통해서 하나 하나 구성하는 것도 좋지만 여기서는 "SQL"을 이용하여 바로 테이블을 생성하는 방법을 사용하겠습니다.





생성할 table은 testtable입니다. 아래 부분을 카피하여 SQL QUERY문 입력단에 넣어시고 다음을 클릭하세요

CREATE TABLE testtable (
uid int(11) NOT NULL auto_increment,
id varchar(20) NOT NULL default '',
passwd varchar(10) NOT NULL default '',
name varchar(20) NOT NULL default '',
email varchar(20) NOT NULL default '',
wdate int(13) NOT NULL default '0',
PRIMARY KEY (uid)
)





자측을 보시면 지금막 생성하신 testtable이라는 것이 보입니다.


CMD 모드에서 이 부분을 입력하는 방법을 최종적으로 보여 드리겠습니다.

C:\PHP_Setup_for_IIS\MySQL\bin>mysql - u userid -p test_db
Enter password: *******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 58 to server version: 4.0.21-nt

Type 'help;' or '\h' for help. Type ]\c' to clear the buffer.

mysql> CREATE TABLE testtable (
          -> uid int(11) NOT NULL auto_increment,
          -> id varchar(20) NOT NULL default '',
          -> passwd varchar(10) NOT NULL default '',
          -> name varchar(20) NOT NULL default '',
          -> email varchar(20) NOT NULL default '',
          -> wdate int(13) NOT NULL default '0',
          -> PRIMARY KEY (uid)
          -> );
Query OK, 0 rows affected (0.01 sec)




Linux 에서 MySQL 처리하기

리눅스 상에서의 처리도 CMD 상에서와 별 큰 차이는 없습니다. 그러나 이후 강좌에서 별도의 강좌를 구성하여 리눅스상에서의 db처리에 관한 기본 문법을 설명드리도록 하겠습니다. 오늘은 CMD에서 한 것(계정생성, db생성, 테이블생성)을 telnet 상태에서 구현하는 것만 보겠습니다.

[root@shop-wiz gpggi]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 28547 to server version: 4.0.22-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database test_db;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on test_db.* to userid@localhost identified by 'testpwd';
Query OK, 0 rows affected (0.08 sec)


mysql> \q
Bye
[root@shop-wiz gpggi]# mysql -u useridi -p test_db;
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 28594 to server version: 4.0.22-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> CREATE TABLE testtable (
-> uid int(11) NOT NULL auto_increment,
-> id varchar(20) NOT NULL default '',
-> passwd varchar(10) NOT NULL default '',
-> name varchar(20) NOT NULL default '',
-> email varchar(20) NOT NULL default '',
-> wdate int(13) NOT NULL default '0',
-> PRIMARY KEY (uid)
-> )
-> ;
Query OK, 0 rows affected (0.03 sec)

mysql>




[설명]
mysql을 정상적으로 사용하려고 해도 몇 페이지로는 설명이 힘듦니다. 많은 내용들은 http://www.mysql.com/ 사이트 API Document를 참조하시기 바랍니다. 여기서는 단순하게 따라서 소기의 목적만을 달성하는데 중점적으로 다룹니다. 그리고 앞으로의 설명은 linux basic으로 설명드리겠으므로 windows os 사용자와는 약간 인터페이스가 다를 수 있습니다.

이번장에서는 mysql에서 db 생성(여기서는 test_db)만 하셔도 성공한 것입니다. 다음장에서는 php와 mysql의 결합을 보시게 될 것이며 php에서 table생성, 삭제, insert, update, delete와 같은 앞으로 우리가 연동해야할 가장 필수적인 것만 다루겠습니다.


Powered by shop-wiz since 2002, e-mail:wangta69@naver.com