강좌

HOME > 강좌 >
강좌| 리눅스 및 오픈소스에 관련된 강좌를 보실 수 있습니다.
 
MYSQL관리를 위한 mysqladmin 1편
조회 : 9,119  


기술문서 : MYSQL관리를 위한 mysqladmin

 

 

 

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

 

ㅇ 본강좌의 자세한 정보 : http://www.superuser.co.kr/linuxcommandbible/

 

 

 

 

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

 

1  : MYSQL 관리유틸리티 mysqladmin 대하여…

2  : 리눅스 쉘에서 mysqladmin으로 새로운 데이터베이스 생성하기

3  : 리눅스 쉘에서 mysqladmin으로 특정 데이터베이스 삭제하기

4  : 리눅스 쉘에서 mysqladmin으로 MYSQL root사용자와 일반사용자의 패스워드 재설정하기

5  : 리눅스 쉘에서 mysqladmin으로 MYSQL 데이터 동기화하기

6  : 리눅스 쉘에서 mysqladmin으로 MYSQL 서버 종료하기

7 : 리눅스 쉘에서 mysqladmin으로 MYSQL 접속한 클라이언트 리스트 확인하기

8 : mysqladmin으로 현재 접속되어 있는 MYSQL사용자(threads) 접속 끊기

9  : mysqladmin으로 MYSQL 간단한 실행정보 확인하기

10  : 리눅스 쉘에서 mysqladmin으로 MYSQL 현재 상황 자세히 살펴보기

11  : 리눅스 쉘에서 mysqladmin으로 MYSQL 환경변수를 확인하기

12  : mysqladmin으로 현재 MYSQL 정확한 버전과 여러가지 실행 정보확인하기

13  : mysqladmin으로 MYSQL 죽었는지 살았는지 확인하기

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 : MYSQL 관리유틸리티 mysqladmin에 대하여

 

[일러두기]

이번 강좌에서 필자는 mysqladmin이라는 MYSQL관리유틸리티로 할 수 있는 모든 실무작업들을 담았다고 생각합니다. 여러분들의 MYSQL데이터베이스 관리와 리눅스 서버관리에 작은 보탬이 될 수 있기를 간절히 소망합니다.

 

MYSQL에는 MYSQL관리를 위하여 관리전용명령어인 mysqladmin을 제공하고 있습니다.  MYSQL을 설치하신 후에 MYSQL홈의 bin디렉토리에는 mysqladmin이라는 명령어가 있습니다.  이 명령어로 우리는 MYSQL의 관리적인 측면에서 여러가지 작업을 할 수가 있습니다.

 

, MYSQL의 관리전용 유틸리티인 mysqladmin으로 할 수 있는 대표적인 작업들은 다음과 같습니다.

 

-         MYSQL root 패스워드 변경하기

-         MYSQL의 일반계정 사용자 패스워드 변경하기

-         새로운 데이터베이스 생성하기

-         사용중인 데이터베이스 삭제하기

-         MYSQL의 현재상황 살펴보기

-         MYSQL에 접속한 클라이언트(threads)리스트 확인하기

-         MYSQL 캐쉬 데이터 동기화하기

-         MYSQL 종료하기

-         MYSQL 실행 환경변수 확인하기

-         MYSQL에 접속한 사용자 접속끊기

-         MYSQL의 버전 및 여러가지 실행 정보들 확인하기

-         MYSQL이 정상적으로 살아있는지 죽었는지 확인하기

-         기타 MYSQL관리에 필요한 유용한 설정 및 정보확인

 

위에 나열한 바와 같이 mysqladmin으로 MYSQL의 여러가지 관리작업들을 할 수 있습니다. 가장 대표적인 것으로 새로운 데이터베이스를 생성할 수 있으며 기존에 존재하고 있던 데이터베이스를 삭제 할 수도 있습니다. 그리고 현재 실행중인 MYSQL을 종료할 수도 있습니다. 이외에도 mysqladmin으로 할 수 있는 여러가지 작업들이 있습니다. 

 

MYSQL의 관리 유틸리티인 mysqladmin의 명령어위치와 사용형식은 다음과 같습니다.

 

명령어위치 : /usr/local/mysql/bin/mysqladmin

사용형식 : mysqladmin -u root -p 명령어

 

거듭 말씀드리지만 특별한 경우를 제외하고는 현재 이 책에서 설명하는 MYSQL /usr/local/mysql/ 디렉토리에 직접 소스를 컴파일하여 설치하였다는 가정하에서 설명하고 있습니다. 따라서 MYSQL의 모든 명령어들이 위치하는 곳은 /usr/local/mysql/bin/디렉토리가 됩니다.

 

위에서 명령어란 mysqladmin에서 사용할 수 있는 여러가지 명령어들을 의미합니다.  명령어의 예로서 reload, shutdown, create, status등이 있으며 이들 명령어에 대해서는 차례차례 하나씩 이어서 설명하였으므로 직접 확인해 보시기 바랍니다. 그리고 -u MYSQL사용자계정을 입력하기 위한 옵션이고 -p는 패스워드를 입력하기 위한 옵션입니다.

 

지금부터 이에 대해 자세한 사용법을 실제 예와 함께 배워볼 것입니다.  참고로 mysqladmin의 보다 자세한 도움말을 위하여 “mysqladmin --help”를 확인해 보시는 것도 좋은 방법이 될 것입니다.

 

 

 

2 : 리눅스 쉘에서 mysqladmin으로 새로운 데이터베이스 생성하기

 

MYSQL의 관리유틸리티인 mysqladmin을 이용하시면 MYSQL에 직접 접속하지 않더라도 리눅스 쉘상태에서 새로운 데이터베이스를 생성할 수 있습니다.  , mysqladmin이라는 MYSQL유틸리티를 이용하여 새로운 데이터베이스를 생성하는 사용형식은 다음과 같습니다.

 

사용형식 : mysqladmin -u root -p create 새로운데이터베이스명

 

위의 형식에서 새로운데이터베이스명에 새로 생성할 데이터베이스의 이름을 지정해 주시면 됩니다.

 

아래는 현재 필자의 리눅스 서버에서 commandbook이라는 새로운 데이터베이스를 생성하기 위하여 mysqladmin명령어를 사용한 것입니다.

 

[root@file bin]# pwd

/usr/local/mysql/bin

[root@file bin]#

[root@file bin]# ./mysqladmin -u root -p create commandbook

Enter password: ********

[root@file bin]#

 

아무런 에러메시지없이 실행이 종료되었다면 commandbook이라는 데이터베이스가 정상적으로 생성되었다는 것을 의미합니다.  확인을 위하여 MYSQL에 접속한 다음 “show databases”라는 MYSQL명령어로 존재하는 데이터베이스들을 확인한 것입니다.

 

mysql> show databases;

+-------------+

| Database    |

+-------------+

| commandbook |

| mysql       |

| papa        |

| temp_db2    |

| test        |

+-------------+

5 rows in set (0.00 sec)

 

mysql>

 

위의 결과를 보시면 commandbook이라는 이름의 데이터베이스를 확인하실 수 있을 것입니다. 

 

참고로 이렇게 새로운 데이터베이스를 생성하면 MYSQL의 데이터가 저장되는 디렉토리내에 데이터베이스명과 동일한 디렉토리가 생성됩니다. 이 디렉토리내에 새로 생성한 데이터베이스의 실제 데이터가 저장됩니다.  필자의 경우 MYSQL설치시에 데이터가 저장되는 디렉토리위치를 /usr/local/mysql/data/으로 지정하였기 때문에 여기서 새로 생성한 commandbook 데이터베이스의 디렉토리는 /usr/local/mysql/data/commandbook/이 됩니다. 

 

가끔 다른 분들은 MYSQL의 데이터 디렉토리로서 /usr/local/mysql/var/로 사용하시는 경향이 있습니다. 참고하시기 바랍니다.

 

 

 

3 : 리눅스 쉘에서 mysqladmin으로 특정 데이터베이스 삭제하기

 

앞의 예에서는 mysqladmin을 이용하여 새로운 데이터베이스를 생성하는 예를 보았습니다. 이번에는 이와 반대로 mysqladmin 을 이용하여 이미 생성되어 있는 데이터베이스를 삭제할 수도 있습니다.

 

사용형식 : mysqladmin -u root -p drop 삭제할데이터베이스명

 

위와 같이 mysqladmin으로 존재하는 데이터베이스를 삭제하게 되면 그 데이터베이스내에 저장되어 있던 모든 테이블의 데이터들 까지 모두 삭제되므로 주의하시기 바랍니다.

 

아래의 예는 앞의 예에서 생성하였던 commandbook이라는 데이터베이스를 삭제한 예입니다.

 

[root@file bin]# pwd

/usr/local/mysql/bin

[root@file bin]# ./mysqladmin -u root -p drop commandbook

Enter password: ********

Dropping the database is potentially a very bad thing to do.

Any data stored in the database will be destroyed.

 

Do you really want to drop the 'commandbook' database [y/N] y

Database "commandbook" dropped

[root@file bin]#

 

위의 예와 같이 mysqladmin으로 이미 존재하고 있는 데이터베이스를 삭제하시면 “Do you really want to drop the 'commandbook' database [y/N]” 와 같은 메시지로 삭제확인을 하게 됩니다. 이때 y를 입력하시면 삭제가 되고 아무것도 입력하지 않거나 N를 입력하시면 삭제되지 않습니다.

 

아래는 위의 삭제확인 메시지에 y를 입력하여 commandbook이라는 데이터베이스를 삭제한 후에 실제로 삭제가 되었는가를 확인하기 위하여 MYSQL에 접속하여 “show databases”명령어로 확인한 것입니다.

 

mysql> show databases;

+----------+

| Database |

+----------+

| mysql    |

| papa     |

| temp_db2 |

| test     |

+----------+

4 rows in set (0.00 sec)

 

mysql>

 

확인하신 바와같이 commandbook이라는 데이터베이스는 존재하지 않습니다. 그리고 이미 말씀드린 바와같이 이렇게 삭제를 하시면 그 데이터베이스에 존재하던 모든 데이터들이 삭제됩니다. 실제로 데이터베이스의 데이터가 저장되는 위치인 /usr/local/mysql/data/ 디렉토리에 위치한 commandbook의 디렉토리가 삭제된다는 점도 꼭 기억하시기 바랍니다.

 

 

 

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

 

ㅇ 본강좌의 자세한 정보 : http://www.superuser.co.kr/linuxcommandbible/

 

 

 


[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1394


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
박성수
파파
헐렁고수