강좌
클라우드/리눅스에 관한 강좌입니다.
데이터베이스 분류

MYSQL파워강좌 . mysql 1편

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

MYSQL파워강좌 . mysql 1

 

 

 

 

ㅇ 제작자 : 리눅스포털(www.linux.co.kr) 수퍼유저 박성수

 

 

 

----------------------                          --------------------------------

 

1  : MYSQL 클라이언트명령어 mysql 사용법

2  : MYSQL 데이터베이스의 실행(기동) 실행확인

3  : MYSQL root 데이터베이스로 접속하기

4  : MYSQL 일반사용자로 데이터베이스 접속하기

5  : MYSQL 접속시 MYSQL계정과 계정패스워드 지정하여 자동접속하기

6  : MYSQL 소켓파일 위치 지정하여 접속하기

7  : MYSQL서버시 접속포트 지정하여 접속하기

8  : 원격서버의 MYSQL 접속하기

9 : 리눅스 쉘상태에서 특정파일에 저장된 SQL 실행하기 : 데이터베이스생성 (mysql 응용편 #1)

10  : 리눅스 쉘상태에서 특정파일에 저장된 SQL 실행하기 : 호스팅사용자를 위한 DB,사용자등 생성하기 (mysql 응용편 #2)

11  : 리눅스 쉘상태에서 특정파일에 저장된 SQL 실행하기 : 테이블생성 (mysql 응용편 #3)

12  : MYSQL 일반사용자를 위한 명령어 PATH설정하기

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 : MYSQL 클라이언트명령어 mysql 사용법

 

이강좌에서는  MYSQL의 설치는 소스를 직접 컴파일하여 /usr/local/mysql/디렉토리 설치한 것으로 가정하도록 하겠습니다.

 

필자는 mysql사용법을 설명하기 위하여 많은 시간과 지면을 할애 하였습니다.  가능한 자세하게 실무에서 바로 적용할 수 있는 실제 예들을 거의 모두 사례별로 설명하였다고 자신합니다.  필자는 mysql에 대한 원고를 마무리하면서 실무사례를 모두 설명하고자 했던 필자의 의도가 여러분들의 서버관리 실무에 얼마나 도움이 될까를 생각하면 벌써부터 가슴이 설레입니다.  필자의 이 작은 소망이 여러분들께 전해질 수 있기를 소망합니다.

 

 

. MYSQL의 설치위치 : /usr/local/mysql/

. MYSQL클라이언트 mysql의 위치 : /usr/local/mysql/bin/mysql

 

MYSQL 데이터베이스 서버에 접속을 하기위한 mysql클라이언트 명령어의 위치는 /usr/local/mysql/bin/mysql 입니다.

 

그리고 mysql클라이언트로 MYSQL 데이터베이스에 접속을 하려면 MYSQL 데이터베이스 데몬이 실행되어있어야 합니다.

 

MYSQL의 기동방법에 대해서는 이 웹사이트(www.linux.co.kr)“mysqld_safe”명령어 강좌편에서 자세히 설명되어 있으므로 여기서는 mysqld_safe명령어로 MYSQL 데몬을 실행하는 방법만 간단히 언급하도록 하겠습니다.

 

 

 

2 : MYSQL 데이터베이스의 실행(기동)과 실행확인

 

이번 예에서 설명하는 MYSQL의 실행은 mysql클라이언트 사용을 위해서는 필수적이기 때문에 간단히 설명하는 것입니다.  따라서 MYSQL의 실행방법에 대한 자세한 설명은 이 웹사이트(www.linux.co.kr) mysqld_safe명령어 강좌편에 자세히 설명되어 있습니다.

 

MYSQL을 실행하는 방법은 /usr/local/mysql/bin/ 디렉토리에 존재하는 mysqld_safe 명령어를  백그라운드(&)로 실행하시면 됩니다.

 

, 아래는 절대경로를 이용하여 mysqld_safe을 백그라운드(&)로 실행한 것입니다.

 

[root@file root]# /usr/local/mysql/bin/mysqld_safe &

[1] 2664

[root@file root]# Starting mysqld daemon with databases from /usr/local/mysql/data

 

[root@file root]#

 

 

그리고 다음은 /usr/local/mysql/bin/ 디렉토리로 이동한 후 그 디렉토리에서 직접 mysqld_safe를 백그라운드(&)로 실행한 것입니다.

 

[root@file root]# cd /usr/local/mysql/bin

[root@file bin]#

[root@file bin]# ./mysqld_safe &

[1] 2694

[root@file bin]# Starting mysqld daemon with databases from /usr/local/mysql/data

 

[root@file bin]#

 

그리고 아래는 mysqld가 실행되었는가를 확인해 보기 위하여 ps명령어로 mysqld 프로세스를 확인한 것입니다.

 

[root@file bin]# ps -ef | grep mysqld

root      2694  2584  0 14:10 pts/0    00:00:00 /bin/sh ./mysqld_safe

mysql     2707  2694  0 14:10 pts/0    00:00:00 [mysqld]

root      2717  2584  0 14:11 pts/0    00:00:00 grep mysqld

[root@file bin]#

 

위와 같이 MYSQL 데이터베이스가 실행이 되어있다면 이제 이번 장에서 설명하고 있는 mysql클라이언트를 이용하여 MYSQL접속을 할 수 있습니다.

 

 

3 : MYSQL root로 데이터베이스로 접속하기

 

앞서 말씀드린바와 같이 MYSQL데이터베이스로 직접 접속을 하려면 /usr/local/mysql/bin/ 디렉토리에 존재하는 mysql클라이언트 프로그램을 이용합니다. 그리고 MYSQL의 일반사용자뿐 아니라 MYSQL root사용자도 mysql클라이언트 프로그램으로 MYSQL   접속합니다. 아래는 MYSQL에 접속하는 명령어의 일반적인 형식입니다.

 

사용형식 : mysql -u MYSQL계정명 -p 접속할데이터베이스명


mysql               
: MYSQL 데이터베이스로 접속하기위한 MYSQL클라이언트프로그램
-u                   :
접속할 MYSQL계정(사용자)명을 지정하기위한 옵션
MYSQL
계정명         : 데이터베이스로 접속할 MYSQL의 사용자(계정)
-p               :
패스워드를 입력하기 위한 옵션
                          (
패스워드가 없을 경우에 생략가능함)
접속할데이터베이스명 : 접속 후 사용할 데이터베이스명

 

다음은 MYSQL root계정으로 /usr/local/mysql/bin/ 디렉토리로 이동한 후에 MYSQL에 접속한 예입니다. (참고로 여기서 root란 리눅스 서버의 root관리자가 아닌 MYSQL 데이터베이스의 root계정임에 유념하시길 바랍니다.)

 

[root@file root]# cd /usr/local/mysql/bin

[root@file bin]#

[root@file bin]# ./mysql -u root -p mysql

Enter password: ********

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Welcome to the MySQL monitor.  Commands end with ; or g.

Your MySQL connection id is 1 to server version: 4.0.14

 

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

 

mysql>
mysql> exit

Bye

[root@file bin]#

위의 예는 /usr/local/mysql/bin/디렉토리로 이동한 후에 mysql클라이언트를 이용하여 root계정으로 MYSQL데이터베이스로 접속한 것입니다. 그리고 접속 후에 사용할 데이터베이스명으로 mysql을 지정 하였습니다. 접속이 이루어진 후에 “mysql>”라는 MYSQL 프롬프트가 나오면 정상적으로 접속되었다는 것을 의미합니다.

 

따라서 이렇게 접속이 이루어 진 후에는 MYSQL의 관리용 데이터베이스인 mysql 데이터베이스를 사용하실 수 있습니다.  위의 예에서 마지막에 “exit”를 사용한 것은 접속한 MYSQL에서 빠져나오기 위한 것입니다.

 

4 : MYSQL 일반사용자로 데이터베이스 접속하기

이번에는 MYSQL의 일반사용자로 접속을 해보도록 하겠습니다. MYSQL의 일반사용자로 접속을 하기위해서는 접속하기 전에 접속 할 MYSQL사용자가 생성되어 있어야 합니다. MYSQL의 일반사용자생성과 DB생성등에 관한 자세한 사항은 뒷편에 자세히 설명하고 있습니다.

다음의 예는 MYSQLpicasso라는 일반사용자가 picasso_db라는 자신 소유의 데이터베이스로 접속한 예입니다.

[root@file root]# cd /usr/local/mysql/bin

[root@file bin]#

[root@file bin]# ./mysql -u picasso -p picasso_db

Enter password: ********

Welcome to the MySQL monitor.  Commands end with ; or g.

Your MySQL connection id is 12 to server version: 4.0.14

 

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

 

mysql>

mysql> exit

Bye

[root@file bin]#


위의 예에 대한 개념을 정확하게 이해하기 위하여 다음과 같이 정리해 보았습니다.

mysql -u picasso -p picasso_db

mysql      : MYSQL데이터베이스 클라이언트 프로그램
-u         : MYSQL
사용자명을 지정하기 위한 옵션
-p         :
지정한 사용자의 MYSQL패스워드를 지정하기 위한 옵션
picasso_db :
지정한 사용자가 사용할 MYSQL데이터베이스명

물론 여러분들께서도 위와 같이 접속해 보셨으리라 생각합니다. 필자가 굳이 mysql의 접속방법에 대해서 자세히 언급한 이유는 MYSQL데이터베이스를 원활하게 사용하기위해서는 접속시에 사용하는 하나하나의 옵션들에 대해서 정확한 이해가 필요하기 때문입니다.

 

 

5 : MYSQL 접속시 MYSQL계정과 계정패스워드 지정하여 자동접속하기

 

일반적인 MYSQL접속방법은 리눅스 쉘상태에서mysql클라이언트를 실행한 후에 “Enter password: ”라는 프롬프트가 나오면 패스워드를 입력한 후에 접속을 하였습니다.  이번에는 쉘상태에서 mysql클라이언트를 실행하는 명령행에서 MYSQL사용자명과 패스워드를 동시에 지정하여 바로 접속하는 방법을 알아보도록 하겠습니다.

 

이와 같은 방법은 MYSQL데이터를 백업하거나 쉘프로그램에서 MYSQL 사용을 자동화하기 위하여 주로 사용하는 방법입니다.

사용형식 : mysql -u사용자명 -p’패스워드접속할데이터베이스명

위의 예에서는 “-u사용자명에서 사용자명은 영문자 -u뒤에 빈칸없이 붙여서 지정하셔야하며 패스워드 또한 영문자 -p뒤에 빈칸없이 ‘’으로 붙여야만 정상적인 실행이 됩니다. 이점만 유념하시면 별 문제없이 자동접속을 하실 수 있을 것입니다.

아래의 예는 root계정으로 패스워드를 지정하여 mysql데이터베이스로 접속한 예입니다. 말씀드린바와 같이 root -u문자뒤에 빈칸없이 붙여서 입력하시고 root의 패스워드인 88888888 또한 ‘’로 묶어서 -p문자뒤에 빈칸없이 붙여서 입력하셔야 합니다.

[root@file bin]# pwd

/usr/local/mysql/bin

[root@file bin]#

[root@file bin]# ./mysql -uroot -p'8888888' mysql

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Welcome to the MySQL monitor.  Commands end with ; or g.

Your MySQL connection id is 24 to server version: 4.0.14

 

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

 

mysql>

mysql>

mysql> exit

Bye

[root@file bin]#

위의 예와 같이 MYSQL root사용자는 mysql이라는 데이터베이스로 자동접속을 하기 위하여 root라는 계정명과 88888888이라는 패스워드를 쉘상태에서 지정한 것입니다.

이번에는 일반계정사용자의 예를 보겠습니다. 일반사용자도 마찬가지로 -u옵션뒤에 사용할 MYSQL계정명과 -p뒤에 ‘’로 둘러 쌓인 패스워드를 빈칸없이 붙여서 사용하시면  별도의 패스워드 입력단계를 생략하고 바로 접속이 이루어 집니다.

아래의 예는 tempuser라는 MYSQL계정사용자가 자기가 사용하는 temp_db2라는 데이터베이스로 자동접속한 예입니다.

[root@file bin]# pwd

/usr/local/mysql/bin

[root@file bin]#

[root@file bin]#

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,035 명
  • 현재 강좌수 :  35,798 개
  • 현재 접속자 :  150 명