MYSQL파워강좌 . mysql 1편
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 21,468 조회
- 0 추천
- 목록
본문
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> 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생성등에 관한 자세한 사항은 뒷편에 자세히 설명하고 있습니다.
다음의 예는 MYSQL의 picasso라는 일반사용자가 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데이터베이스 클라이언트 프로그램 |
물론 여러분들께서도 위와 같이 접속해 보셨으리라 생각합니다. 필자가 굳이 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]# |
관련자료
-
이전
-
다음