Published Book on Amazon
All of IOT Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 1 | |
All of IOT Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 2 |
출판된 한글판 도서
최신 라즈베리파이(Raspberry Pi)로 시작하는 사물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (상) | |
최신 라즈베리파이(Raspberry Pi)로 시작하는 사물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (하) |
Original Book Contents
24.2.3 MySQL 관리 도구
24.2.3.1 <MySQL Administrator> – "mysqladmin" 명령
<MySQL Administrator>는 MySQL database 시스템을 전체적으로 관리하는데 사용하는 관리 전용 utility 프로그램이다. 이 명령은 noninteractive 방식으로 사용된다.
이 프로그램이 <MySQL Server>가 설치되는 컴퓨터에 자동으로 설치된다. 하지만 네트워크상의 다른 컴퓨터에서 MySQL database가 있는 시스템에 원격으로 접속하여 관리작업을 하고자 하면, 해당 원격 컴퓨터의 운영체제에 맞는 프로그램을 download하여 별도로 설치해야 한다.
Linux에서 이 프로그램을 설치할 때는 다음 명령을 사용할 수 있다.
sudo apt-get install mysql-admin |
이 프로그램은 "mysqladmin" 명령으로 실행하며, 명령의 기본형식은 다음과 같다.
[명령 형식]
mysqladmin -u<user-id> -p[password] [options] command command.... |
[상세 설명]
■ 명령의 option에서 user와 password는 반드시 지정되어야 한다.
[주요 option]
--help, -? | Display a help message and exit. |
--host=host_name, -h host_name | Connect to the MySQL server on the given host. |
--user=user_name, -u user_name | The MySQL user name to use when connecting to the server. |
--password[=password], -p[password] | The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the --password or –p option on the Shell, mysql prompts for one. Specifying a password on the Shell should be considered insecure. See Section 6.1.2.1, "End-User Guidelines for Password Security". You can use an option file to avoid giving the password on the Shell. |
여기서 실행할 수 있는 주요한 기능은 다음과 같다.
command | Description | 비고 |
create databasename | Create a new database | database 생성 |
debug | Instruct server to write debug information to log |
|
drop databasename | Delete a database and all its tables | database 삭제 |
extended-status | Gives an extended status message from the server | 상세 정보 조회 |
flush-hosts | Flush all cached hosts |
|
flush-logs | Flush all logs |
|
flush-status | Clear status variables |
|
flush-tables | Flush all tables |
|
flush-threads | Flush the thread cache |
|
flush-privileges | Reload grant tables (same as reload) |
|
kill id,id,... | Kill mysql threads | 사용자 접속 끊기 |
password [new-password] | Change old password to new-password in current format | 계정 password 변경하기 |
old-password [new-password] | Change old password to new-password in old format
| 계정 password 변경하기 |
ping | Check if mysqld is alive | MySQL 실행 여부 확인 |
processlist | Show list of active threads in server | 접속 사용자 확인 |
reload | Reload grant tables |
|
refresh | Flush all tables and close and open logfiles |
|
shutdown | Take server down | MySQL 종료 |
start-slave | Start slave |
|
stop-slave | Stop slave |
|
status | Gives a short status message from the server | 요약 정보 조회 |
variables | Prints variables available | 환경변수 확인 |
version | Get version info from server | 버전 등 상세 정보 |
24.2.3.2 <MySQL Shell> – "mysql" 명령
<MySQL Shell>은 MySQL database에서 접속하여 database 내에 있는 자료를 관리하는데 사용하는 프로그램이다. 이것은 <MySQL Administrator>가 주로 MySQL database 시스템 자체를 관리하는 것이 주목적인 것과 비교된다.
이 프로그램에서 제공하는 주요한 기능은 다음과 같다.
■ MySQL Shell에 대한 상태 확인 및 변경
■ database에 대한 각종 정보 확인
■ database 생성 및 삭제
■ table에 대한 각종 정보 확인
■ database 내의 table에 있는 자료의 조작
이 프로그램은 <MySQL Server>를 설치하는 컴퓨터에 자동으로 설치된다. 하지만 네트워크 상의 다른 컴퓨터에서 MySQL database가 있는 시스템에 원격 접속하여 작업을 하고자 하면, 해당 컴퓨터의 운영체제에 맞는 프로그램을 download하여 별도로 설치해야 한다.
Raspberry Pi에서 이 프로그램을 설치하는 경우는 다음 명령을 사용할 수 있다.
sudo apt-get install mysql-client |
<MySQL Shell>에서 실행할 수 있는 명령에서는 두 가지 종류가 있는데, MySQL Shell 명령과 표준 database SQL 명령이다.
MySQL Shell 명령은 <MySQL Shell>의 현재 상태를 확인하거나 Shell의 향후 동작과 표현 방식에 영향을 미치는 명령이다. 이 명령은 database 내부에 저장되어 있는 자료에는 직접적으로 영향을 주지 않는다.
표준 database SQL 명령은 database 내에 보관되어 있는 자료를 직접적으로 조작하는 명령이다. 여기에는 자료가 저장되는 database 자체를 정의하는 명령과 저장되는 자료를 정의하는 명령, 그리고 자료를 입출력하는 명령들이 있다
MySQL Shell 명령과 표준 database SQL 명령에 대해서는 다음에서 상세히 다루도록 할 것이다.
24.2.3.3 <MySQL Backup>– "mysqldump" 명령
<MySQL Backup>은 MySQL database 시스템의 data를 backup하는데 사용하는 관리 전용 utility 프로그램이다. 이 명령은 noninteractive 방식으로 사용된다.
이 프로그램은 <MySQL server>를 설치하면 해당 컴퓨터에 자동으로 설치된다. 하지만 네트워크상의 다른 컴퓨터에서 MySQL database가 있는 시스템에 원격으로 접속하여 관리작업을 하고자 하면, 해당 컴퓨터의 운영체제에 맞는 프로그램을 download하여 별도로 설치해야 한다.
이 프로그램은 "mysqldump" 명령으로 실행하며, 명령의 기본형식은 다음과 같다.
[명령 형식]
mysqldump -u<user-id> -p[password] [option] [database-name] [table-name] |
[상세 설명]
■ 명령의 option에서 user 와 password는 반드시 지정이 되어야 한다.
[주요 option]
--help, -? | Display a help message and exit. |
--host=host_name, -h host_name | Connect to the MySQL server on the given host. |
--user=user_name, -u user_name | The MySQL user name to use when connecting to the server. |
--password[=password], -p[password] | The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the --password or –p option on the Shell, mysql prompts for one. Specifying a password on the Shell should be considered insecure. See Section 6.1.2.1, "End-User Guidelines for Password Security". You can use an option file to avoid giving the password on the Shell. |
--all-databases, -A | Dump all tables in all databases. This is the same as using the --databases option and naming all the databases on the Shell. |
--all-tablespaces, -Y | Adds to a table dump all SQL statements needed to create any tablespaces used by an NDBCLUSTER table. This information is not otherwise included in the output from mysqldump. This option is currently relevant only to MySQL Cluster tables. |
24.2.3.4 <MySQL Import> – "mysqlimport" 명령
<MySQL Import>는 MySQL database 시스템의 data를 복구하는데 사용하는 관리 전용 utility 프로그램이다. 이 명령은 noninteractive 방식으로 사용된다.
이 프로그램은 <MySQL server>를 설치하는 컴퓨터에 자동으로 설치된다. 하지만 네트워크상의 다른 컴퓨터에서 MySQL database가 있는 시스템에 원격으로 접속하여 관리작업을 하고자 하면, 해당 컴퓨터의 운영체제에 맞는 프로그램을 download하여 별도로 설치해야 한다.
이 프로그램은 "mysqlimport" 명령으로 실행하며, 명령의 기본형식은 다음과 같다.
[명령 형식]
mysqlimport -u<user-id> -p[password] [option] <database-name> <file-name> |
[상세 설명]
■ 명령의 option에서 user와 password는 반드시 지정이 되어야 한다.
[주요 option]
--help, -? | Display a help message and exit. |
--host=host_name, -h host_name | Connect to the MySQL server on the given host. |
--user=user_name, -u user_name | The MySQL user name to use when connecting to the server. |
--password[=password], -p[password] | The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the --password or –p option on the Shell, mysql prompts for one. Specifying a password on the Shell should be considered insecure. See Section 6.1.2.1, "End-User Guidelines for Password Security". You can use an option file to avoid giving the password on the Shell. |
--delete, -D | Empty the table before importing the text file. |
--force, -f | Ignore errors. For example, if a table for a text file does not exist, continue processing any remaining files. Without --force, mysqlimport exits if a table does not exist. |
--lock-tables, -l | Lock all tables for writing before processing any text files. This ensures that all tables are synchronized on the server. |